diff --git a/.gitignore b/.gitignore index 9d6ea2c..bf3515d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ /package-lock.json /tmp node_modules +test/integration/project/* +!test/integration/project/.notgit +test/integration/project/.notgit/logs/HEAD diff --git a/.vscode/launch.json b/.vscode/launch.json index bea30c6..4ddd2bd 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,22 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + // { + // "type": "node", + // "request": "launch", + // "name": "Mocha Tests", + // "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", + // "args": [ + // "-u", + // "tdd", + // "--timeout", + // "999999", + // "--colors", + // "${workspaceFolder}/test" + // ], + // "internalConsoleOptions": "openOnSessionStart" + // }, + { "type": "node", "request": "attach", @@ -18,11 +34,14 @@ "protocol": "inspector", "program": "${workspaceRoot}/node_modules/.bin/_mocha", "args": [ - "--require", "test/helpers/init.js", + // "--require", "test/helpers/init.js", + // "--inspect-brk", "--require", "ts-node/register", "--require", "source-map-support/register", "--recursive", "--reporter", "spec", + "--timeout", + "999999", "test/**/*.test.ts" ], "cwd": "${workspaceRoot}" diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..265e5a3 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,24 @@ +{ + "cSpell.words": [ + "Devhub", + "Integ", + "commandsstop", + "gitpackage", + "globby", + "ignorewhitespace", + "jsdiff", + "loglevel", + "nodelete", + "notgit", + "oclif", + "outputdir", + "postpack", + "posttest", + "shrinkwrap", + "sourceref", + "staticresources", + "stdo", + "targetref", + "tslib" + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 3d394c3..5cd17f0 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,10 @@ ![npm](https://img.shields.io/npm/v/sfdx-git-packager) -Generates a metadata package (`package.xml` & source files) for differences between two branches/commits. +Generates a metadata package (`package.xml` & source files) for differences between two branches/commits. ![Generating vs working tree](https://user-images.githubusercontent.com/5217568/65200914-e587ed80-da45-11e9-917d-a63a3c91b29f.gif) -*Example Generating vs "working tree" & master* +_Example Generating vs "working tree" & master_ ## Install @@ -23,7 +23,7 @@ Run `sfdx plugins:install sfdx-git-packager` - CustomObject - CustomField - StaticResources -- all other simple *-meta.xml files +- all other simple \*-meta.xml files - Destructive Changes! **Not yet supported:** @@ -31,12 +31,13 @@ Run `sfdx plugins:install sfdx-git-packager` - ??? (please submit an issue if you run into anything else) - Windows (needs testing) -## Usage +## Usage Must be run from inside an sfdx project with an initialized git repo. -* [`sfdx git:package -d [-s ] [-t ] [-w] [--purge] [--nodelete] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-gitpackage--d-string--s-string--t-string--w---purge---nodelete--f---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal) + +- [`sfdx git:package -d [-s ] [-t ] [-w] [--purge] [--nodelete] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-gitpackage--d-string--s-string--t-string--w---purge---nodelete--f---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal) ## `sfdx git:package -d [-s ] [-t ] [-w] [--purge] [--nodelete] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]` @@ -44,7 +45,7 @@ Generates a Metadata Package using the differences between two git refs (branch ``` USAGE - $ sfdx git:package -d [-s ] [-t ] [-w] [--purge] [--nodelete] [-f] [--json] [--loglevel + $ sfdx git:package -d [-s ] [-t ] [-w] [--purge] [--nodelete] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL] OPTIONS @@ -83,12 +84,13 @@ EXAMPLES $ sfdx git:package -s head -d deployments/my-working-copy ``` -_See code: [lib/commands/git/package.js](https://github.com/ChuckJonas/sfdx-git-diff-to-pkg/blob/v0.0.4/lib/commands/git/package.js)_ +_See code: [lib/commands/git/package.js](https://github.com/ChuckJonas/sfdx-git-diff-to-pkg/blob/v0.0.3/lib/commands/git/package.js)_ + ### Ignore Files -If you wish to prevent certain files from being included in a package, you can create a `.packageIgnore` in the root of your project. This works similar to [`.gitIgnore`](https://git-scm.com/docs/gitignore). You can add globs to prevent source path from being picked up. +If you wish to prevent certain files from being included in a package, you can create a `.packageIgnore` in the root of your project. This works similar to [`.gitIgnore`](https://git-scm.com/docs/gitignore). You can add globs to prevent source path from being picked up. ## Developing @@ -99,7 +101,27 @@ If you wish to prevent certain files from being included in a package, you can c 1. `yarn/npm` install 1. `sfdx plugins:link` +### Testings + +`npm test` just runs the basic test suite, not much here yet + +#### Integration Testing + +`npm run integrationTest` runs integration test suite + +#### Setting Up Integration Tests + +We've got a git repo in `test/integration/project` that represents a project. In order to avoid conflicts with the parent repo folders we change the .git folder to .notgit so we can commit those to the repo. You'll need to "unpack" that repo if you want to easily work in the test git repo when expanding the integration suite. + +To add tests +1. unpack the test repo `npm run tgu` +1. go to the test project `cd test/integration/project` +1. run `git reset --hard` to bring everything back +1. create a branch off of `master`, make the mods you want to test, and commit +1. generate the expected output `npm run gen` +1. check the contents of `test/integration/output` matches what you'd expect for your change (make sure to check there are no other unexpected changes!) +1. pack the test repo back up `npm run tgp` ## Disclaimer diff --git a/package.json b/package.json index 0372002..66706d3 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,6 @@ "@salesforce/command": "^1.4.1", "@salesforce/core": "^1.3.2", "diff": "^4.0.1", - "glob-regex": "^0.3.2", "ignore": "^5.1.4", "tmp": "^0.1.0", "tslib": "^1", @@ -29,9 +28,11 @@ "@types/tmp": "^0.1.0", "@types/xml2js": "^0.4.5", "chai": "^4", + "dir-compare": "^1.7.3", "globby": "^8", "mocha": "^5", "nyc": "^14", + "rimraf": "^3.0.0", "ts-node": "^8", "tslint": "^5" }, @@ -66,7 +67,11 @@ "postpack": "rm -f oclif.manifest.json", "posttest": "tslint -p test -t stylish", "prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme", - "test": "nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"", - "version": "oclif-dev readme && git add README.md" + "test": "nyc --extension .ts mocha --timeout 99999 --forbid-only \"test/{*.test.ts,!(integration)/**/*.test.ts}\"", + "integrationTest": "nyc --extension .ts mocha --timeout 99999 --forbid-only \"test/integration/**/*.test.ts\"", + "version": "oclif-dev readme && git add README.md", + "tgp": "mv test/integration/project/.git test/integration/project/.notgit", + "tgu": "mv test/integration/project/.notgit test/integration/project/.git", + "gen": "ts-node test/integration/genIntegrationTestOutput.ts" } } diff --git a/src/commands/git/package.ts b/src/commands/git/package.ts index de46815..05ae1cb 100644 --- a/src/commands/git/package.ts +++ b/src/commands/git/package.ts @@ -62,7 +62,7 @@ export default class Package extends SfdxCommand { public async run(): Promise { this.projectPath = this.project.getPath(); - this.sourcePaths = ((await this.project.resolveProjectConfig())['packageDirectories'] as any[]).map(d => d.path); + this.sourcePaths = ((await this.project.resolveProjectConfig())['packageDirectories'] as Array<{ path: string }>).map(d => d.path); const toBranch = this.flags.targetref; const fromBranch = this.flags.sourceref; @@ -177,7 +177,7 @@ export default class Package extends SfdxCommand { await fs.mkdirp(join(tempDir, sourcePath)); } - await fsPromise.copyFile(join(this.projectPath, 'sfdx-project.json'), join(tempDir, 'sfdx-project.json')); + await copyFileFromRef('sfdx-project.json', targetRef, join(tempDir, 'sfdx-project.json')); for (const path of changed) { const metadataPaths = await resolveMetadata(path, targetRef); diff --git a/src/metadataResolvers.ts b/src/metadataResolvers.ts index 1088816..4e934c3 100644 --- a/src/metadataResolvers.ts +++ b/src/metadataResolvers.ts @@ -1,7 +1,7 @@ import { extname } from 'path'; import { getFilesFromRef } from './util'; -// these need to be re-witten for windows... maybe use globs instead +// these need to be re-written for windows... maybe use globs instead const AURA_REGEX = /(.*\/aura\/\w*)\/.*/; const LWC_REGEX = /(.*\/lwc\/\w*)\/.*/; const COMP_META = /.*(.cls|\.trigger|\.page|\.component)-meta.xml/; @@ -69,7 +69,7 @@ const metadataResolvers: MetadataResolver[] = [ match: STATIC_RESOURCE_FILE_REGEX, getMetadataPaths: async (path: string) => { const baseName = STATIC_RESOURCE_FILE_REGEX.exec(path)[1]; - return [path, `${baseName}.resource-meta.xml` ]; + return [path, `${baseName}.resource-meta.xml`]; }, getIsDirectory: () => false } diff --git a/test/commands/hello/org.test.ts b/test/commands/hello/org.test.ts deleted file mode 100644 index 1806a04..0000000 --- a/test/commands/hello/org.test.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { expect, test } from '@salesforce/command/lib/test'; -import { ensureJsonMap, ensureString } from '@salesforce/ts-types'; - -describe('hello:org', () => { - test - .withOrg({ username: 'test@org.com' }, true) - .withConnectionRequest(request => { - const requestMap = ensureJsonMap(request); - if (ensureString(requestMap.url).match(/Organization/)) { - return Promise.resolve({ records: [ { Name: 'Super Awesome Org', TrialExpirationDate: '2018-03-20T23:24:11.000+0000'}] }); - } - return Promise.resolve({ records: [] }); - }) - .stdout() - .command(['hello:org', '--targetusername', 'test@org.com']) - .it('runs hello:org --targetusername test@org.com', ctx => { - expect(ctx.stdout).to.contain('Hello world! This is org: Super Awesome Org and I will be around until Tue Mar 20 2018!'); - }); -}); diff --git a/test/future.test.ts b/test/future.test.ts new file mode 100644 index 0000000..03ee682 --- /dev/null +++ b/test/future.test.ts @@ -0,0 +1,5 @@ +describe('test suite', () => { + it('will have some tests in the future', () => { + console.log('but not yet'); + }); +}); diff --git a/test/integration/genIntegrationTestOutput.ts b/test/integration/genIntegrationTestOutput.ts new file mode 100644 index 0000000..4339e2a --- /dev/null +++ b/test/integration/genIntegrationTestOutput.ts @@ -0,0 +1,16 @@ +import { getIntegBranches, myExec, projectPath } from './util'; + +(async () => { + try { + for (const branch of await getIntegBranches()) { + console.log(`generating ${branch}`); + await myExec( + `sfdx git:package -s ${branch} -t master -d "../output/${branch}" --purge`, + projectPath); + } + } catch (e) { + console.log(e); + } +})() + .then(() => console.log('done')) + .catch(e => console.log(e)); diff --git a/test/integration/integration.test.ts b/test/integration/integration.test.ts new file mode 100644 index 0000000..df7279f --- /dev/null +++ b/test/integration/integration.test.ts @@ -0,0 +1,86 @@ +import * as assert from 'assert'; +import { compareSync } from 'dir-compare'; +import { myExec, projectPath, setGitENV } from './util'; + +async function runTest(testName: string) { + const sourceRef = testName; + const expectedOutputDir = testName; + try { + const res = await myExec( + `sfdx git:package -d deploy --purge -s ${sourceRef} -t master`, + projectPath); + assert.equal(null, res.err); + const compareRes = compareSync('test/integration/project/deploy', `test/integration/output/${expectedOutputDir}`, { compareContent: true }); + const mismatched = compareRes.diffSet.filter(diff => diff.state !== 'equal').map(diff => diff.name1 || diff.name2); + assert.strictEqual(mismatched.length, 0, `The following files were different: \n${mismatched.join('\n')}`); + assert.strictEqual(true, compareRes.equal > 0); + } catch (e) { + assert.fail(e); + } +} + +describe('git:package integration test', async () => { + before(async () => { + setGitENV(); + await myExec('git checkout master', projectPath); + await myExec('git reset --hard', projectPath); + }); + + describe('apex classes', async () => { + it('detects a new apex class', async () => { + await runTest('add_class'); + }); + it('detects an update to an apex class', async () => { + await runTest('mod_class'); + }); + it('detects an update to an apex class meta file', async () => { + await runTest('mod_class_meta'); + }); + it('detects deletion of an apex class', async () => { + await runTest('del_class'); + }); + }); + + describe('custom fields', async () => { + it('detects a new custom field', async () => { + await runTest('add_field'); + }); + it('detects an update to an custom field', async () => { + await runTest('mod_field'); + }); + it('detects deletion of an custom field', async () => { + await runTest('del_field'); + }); + }); + + describe('custom objects', async () => { + it('detects a new custom object', async () => { + await runTest('add_object'); + }); + it('detects an update to an custom object', async () => { + await runTest('mod_object'); + }); + it('detects deletion of an custom object', async () => { + await runTest('del_object'); + }); + }); + + describe('static resources', async () => { + it('detects a new static resource', async () => { + await runTest('add_static_resource'); + }); + it('detects an update to a static resource', async () => { + await runTest('mod_static_resource'); + }); + it('detects full deletion of a static resource', async () => { + await runTest('del_static_resource'); + }); + }); + + describe('folder_types', async () => { + it('detects partial deletion of a folder', async () => { + await runTest('del_single_file_from_folder'); + }); + }); + +}); diff --git a/test/integration/output/add_class/classes/Example2.cls b/test/integration/output/add_class/classes/Example2.cls new file mode 100644 index 0000000..b526bf4 --- /dev/null +++ b/test/integration/output/add_class/classes/Example2.cls @@ -0,0 +1,5 @@ +public with sharing class Example2 { + public Example2() { + + } +} diff --git a/test/integration/output/add_class/classes/Example2.cls-meta.xml b/test/integration/output/add_class/classes/Example2.cls-meta.xml new file mode 100644 index 0000000..1832ce8 --- /dev/null +++ b/test/integration/output/add_class/classes/Example2.cls-meta.xml @@ -0,0 +1,5 @@ + + + 47.0 + Active + diff --git a/test/integration/output/add_class/package.xml b/test/integration/output/add_class/package.xml new file mode 100644 index 0000000..3411f86 --- /dev/null +++ b/test/integration/output/add_class/package.xml @@ -0,0 +1,8 @@ + + + + ApexClass + Example2 + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/add_field/objects/Foo__c.object b/test/integration/output/add_field/objects/Foo__c.object new file mode 100644 index 0000000..c33e203 --- /dev/null +++ b/test/integration/output/add_field/objects/Foo__c.object @@ -0,0 +1,11 @@ + + + + A_Date__c + false + + false + false + Date + + diff --git a/test/integration/output/add_field/package.xml b/test/integration/output/add_field/package.xml new file mode 100644 index 0000000..7577ead --- /dev/null +++ b/test/integration/output/add_field/package.xml @@ -0,0 +1,8 @@ + + + + CustomField + Foo__c.A_Date__c + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/add_object/layouts/Bar__c-Bar Layout.layout b/test/integration/output/add_object/layouts/Bar__c-Bar Layout.layout new file mode 100644 index 0000000..a4c98b2 --- /dev/null +++ b/test/integration/output/add_object/layouts/Bar__c-Bar Layout.layout @@ -0,0 +1,55 @@ + + + + false + false + true + + + + Required + Name + + + + + Edit + OwnerId + + + + + + false + false + true + + + + Readonly + CreatedById + + + + + Readonly + LastModifiedById + + + + + + false + false + true + + + + + + false + false + false + false + false + diff --git a/test/integration/output/add_object/objects/Bar__c.object b/test/integration/output/add_object/objects/Bar__c.object new file mode 100644 index 0000000..ceb9298 --- /dev/null +++ b/test/integration/output/add_object/objects/Bar__c.object @@ -0,0 +1,64 @@ + + + + Accept + Default + + + CancelEdit + Default + + + Clone + Default + + + Delete + Default + + + Edit + Default + + + List + Default + + + New + Default + + + SaveEdit + Default + + + Tab + Default + + + View + Default + + false + SYSTEM + Deployed + false + true + false + false + false + false + false + true + true + + + + Text + + Bars + + ReadWrite + Public + diff --git a/test/integration/output/add_object/package.xml b/test/integration/output/add_object/package.xml new file mode 100644 index 0000000..b8c8b77 --- /dev/null +++ b/test/integration/output/add_object/package.xml @@ -0,0 +1,12 @@ + + + + Layout + Bar__c-Bar Layout + + + CustomObject + Bar__c + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/add_static_resource/package.xml b/test/integration/output/add_static_resource/package.xml new file mode 100644 index 0000000..79c3076 --- /dev/null +++ b/test/integration/output/add_static_resource/package.xml @@ -0,0 +1,8 @@ + + + + StaticResource + testing2 + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/add_static_resource/staticresources/testing2.resource b/test/integration/output/add_static_resource/staticresources/testing2.resource new file mode 100644 index 0000000..922c65d --- /dev/null +++ b/test/integration/output/add_static_resource/staticresources/testing2.resource @@ -0,0 +1 @@ +Testing.txt \ No newline at end of file diff --git a/test/integration/output/add_static_resource/staticresources/testing2.resource-meta.xml b/test/integration/output/add_static_resource/staticresources/testing2.resource-meta.xml new file mode 100644 index 0000000..9f467c3 --- /dev/null +++ b/test/integration/output/add_static_resource/staticresources/testing2.resource-meta.xml @@ -0,0 +1,5 @@ + + + Private + text/plain + diff --git a/test/integration/output/del_class/destructiveChanges.xml b/test/integration/output/del_class/destructiveChanges.xml new file mode 100644 index 0000000..f9f277e --- /dev/null +++ b/test/integration/output/del_class/destructiveChanges.xml @@ -0,0 +1,8 @@ + + + + ApexClass + Example1 + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/del_field/destructiveChanges.xml b/test/integration/output/del_field/destructiveChanges.xml new file mode 100644 index 0000000..0680fec --- /dev/null +++ b/test/integration/output/del_field/destructiveChanges.xml @@ -0,0 +1,8 @@ + + + + CustomField + Account.Is_Foo__c + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/del_object/destructiveChanges.xml b/test/integration/output/del_object/destructiveChanges.xml new file mode 100644 index 0000000..5b97130 --- /dev/null +++ b/test/integration/output/del_object/destructiveChanges.xml @@ -0,0 +1,12 @@ + + + + CustomObject + Foo__c + + + CustomField + Foo__c.Is_Foo__c + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/del_single_file_from_folder/lwc/lWCExample/lWCExample.html b/test/integration/output/del_single_file_from_folder/lwc/lWCExample/lWCExample.html new file mode 100644 index 0000000..27e0f69 --- /dev/null +++ b/test/integration/output/del_single_file_from_folder/lwc/lWCExample/lWCExample.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/test/integration/output/del_single_file_from_folder/lwc/lWCExample/lWCExample.js-meta.xml b/test/integration/output/del_single_file_from_folder/lwc/lWCExample/lWCExample.js-meta.xml new file mode 100644 index 0000000..e52499e --- /dev/null +++ b/test/integration/output/del_single_file_from_folder/lwc/lWCExample/lWCExample.js-meta.xml @@ -0,0 +1,5 @@ + + + 47.0 + false + \ No newline at end of file diff --git a/test/integration/output/del_single_file_from_folder/package.xml b/test/integration/output/del_single_file_from_folder/package.xml new file mode 100644 index 0000000..4454b08 --- /dev/null +++ b/test/integration/output/del_single_file_from_folder/package.xml @@ -0,0 +1,8 @@ + + + + LightningComponentBundle + lWCExample + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/del_static_resource/destructiveChanges.xml b/test/integration/output/del_static_resource/destructiveChanges.xml new file mode 100644 index 0000000..3115647 --- /dev/null +++ b/test/integration/output/del_static_resource/destructiveChanges.xml @@ -0,0 +1,8 @@ + + + + StaticResource + Testing + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/mod_class/classes/Example1.cls b/test/integration/output/mod_class/classes/Example1.cls new file mode 100644 index 0000000..e7ba616 --- /dev/null +++ b/test/integration/output/mod_class/classes/Example1.cls @@ -0,0 +1,3 @@ +public class Example1 { +// hi my name is wat? +} diff --git a/test/integration/output/mod_class/classes/Example1.cls-meta.xml b/test/integration/output/mod_class/classes/Example1.cls-meta.xml new file mode 100644 index 0000000..91b23b8 --- /dev/null +++ b/test/integration/output/mod_class/classes/Example1.cls-meta.xml @@ -0,0 +1,5 @@ + + + 46.0 + Active + diff --git a/test/integration/output/mod_class/package.xml b/test/integration/output/mod_class/package.xml new file mode 100644 index 0000000..f9f277e --- /dev/null +++ b/test/integration/output/mod_class/package.xml @@ -0,0 +1,8 @@ + + + + ApexClass + Example1 + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/mod_class_meta/classes/Example1.cls b/test/integration/output/mod_class_meta/classes/Example1.cls new file mode 100644 index 0000000..cf14086 --- /dev/null +++ b/test/integration/output/mod_class_meta/classes/Example1.cls @@ -0,0 +1,3 @@ +public class Example1 { +// hi +} diff --git a/test/integration/output/mod_class_meta/classes/Example1.cls-meta.xml b/test/integration/output/mod_class_meta/classes/Example1.cls-meta.xml new file mode 100644 index 0000000..516122b --- /dev/null +++ b/test/integration/output/mod_class_meta/classes/Example1.cls-meta.xml @@ -0,0 +1,5 @@ + + + 44.0 + Active + diff --git a/test/integration/output/mod_class_meta/package.xml b/test/integration/output/mod_class_meta/package.xml new file mode 100644 index 0000000..f9f277e --- /dev/null +++ b/test/integration/output/mod_class_meta/package.xml @@ -0,0 +1,8 @@ + + + + ApexClass + Example1 + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/mod_field/objects/Account.object b/test/integration/output/mod_field/objects/Account.object new file mode 100644 index 0000000..5bb8456 --- /dev/null +++ b/test/integration/output/mod_field/objects/Account.object @@ -0,0 +1,11 @@ + + + + Is_Foo__c + true + false + + false + Checkbox + + diff --git a/test/integration/output/mod_field/package.xml b/test/integration/output/mod_field/package.xml new file mode 100644 index 0000000..0680fec --- /dev/null +++ b/test/integration/output/mod_field/package.xml @@ -0,0 +1,8 @@ + + + + CustomField + Account.Is_Foo__c + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/mod_object/objects/Foo__c.object b/test/integration/output/mod_object/objects/Foo__c.object new file mode 100644 index 0000000..f3d52eb --- /dev/null +++ b/test/integration/output/mod_object/objects/Foo__c.object @@ -0,0 +1,64 @@ + + + + Accept + Default + + + CancelEdit + Default + + + Clone + Default + + + Delete + Default + + + Edit + Default + + + List + Default + + + New + Default + + + SaveEdit + Default + + + Tab + Default + + + View + Default + + false + SYSTEM + Deployed + false + true + false + false + false + false + false + true + true + + + + Text + + Foos + + ReadWrite + Public + diff --git a/test/integration/output/mod_object/package.xml b/test/integration/output/mod_object/package.xml new file mode 100644 index 0000000..6899878 --- /dev/null +++ b/test/integration/output/mod_object/package.xml @@ -0,0 +1,8 @@ + + + + CustomObject + Foo__c + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/mod_partially_delete_static_resource/package.xml b/test/integration/output/mod_partially_delete_static_resource/package.xml new file mode 100644 index 0000000..6249135 --- /dev/null +++ b/test/integration/output/mod_partially_delete_static_resource/package.xml @@ -0,0 +1,8 @@ + + + + StaticResource + TestFolder + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/mod_partially_delete_static_resource/staticresources/TestFolder.resource b/test/integration/output/mod_partially_delete_static_resource/staticresources/TestFolder.resource new file mode 100644 index 0000000..74d472c Binary files /dev/null and b/test/integration/output/mod_partially_delete_static_resource/staticresources/TestFolder.resource differ diff --git a/test/integration/output/mod_partially_delete_static_resource/staticresources/TestFolder.resource-meta.xml b/test/integration/output/mod_partially_delete_static_resource/staticresources/TestFolder.resource-meta.xml new file mode 100644 index 0000000..664da7f --- /dev/null +++ b/test/integration/output/mod_partially_delete_static_resource/staticresources/TestFolder.resource-meta.xml @@ -0,0 +1,5 @@ + + + Private + application/zip + diff --git a/test/integration/output/mod_static_resource/package.xml b/test/integration/output/mod_static_resource/package.xml new file mode 100644 index 0000000..3115647 --- /dev/null +++ b/test/integration/output/mod_static_resource/package.xml @@ -0,0 +1,8 @@ + + + + StaticResource + Testing + + 45.0 + \ No newline at end of file diff --git a/test/integration/output/mod_static_resource/staticresources/Testing.resource b/test/integration/output/mod_static_resource/staticresources/Testing.resource new file mode 100644 index 0000000..8baef1b --- /dev/null +++ b/test/integration/output/mod_static_resource/staticresources/Testing.resource @@ -0,0 +1 @@ +abc diff --git a/test/integration/output/mod_static_resource/staticresources/Testing.resource-meta.xml b/test/integration/output/mod_static_resource/staticresources/Testing.resource-meta.xml new file mode 100644 index 0000000..b30620f --- /dev/null +++ b/test/integration/output/mod_static_resource/staticresources/Testing.resource-meta.xml @@ -0,0 +1,6 @@ + + + Private + text/plain + Testing + diff --git a/test/integration/project/.notgit/COMMIT_EDITMSG b/test/integration/project/.notgit/COMMIT_EDITMSG new file mode 100644 index 0000000..0ee697b --- /dev/null +++ b/test/integration/project/.notgit/COMMIT_EDITMSG @@ -0,0 +1 @@ +removed LWC file diff --git a/test/integration/project/.notgit/FETCH_HEAD b/test/integration/project/.notgit/FETCH_HEAD new file mode 100644 index 0000000..e69de29 diff --git a/test/integration/project/.notgit/HEAD b/test/integration/project/.notgit/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/test/integration/project/.notgit/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/test/integration/project/.notgit/ORIG_HEAD b/test/integration/project/.notgit/ORIG_HEAD new file mode 100644 index 0000000..8c7167c --- /dev/null +++ b/test/integration/project/.notgit/ORIG_HEAD @@ -0,0 +1 @@ +8d411d5e0074d561e39cc35aec38f7e755e69604 diff --git a/test/integration/project/.notgit/config b/test/integration/project/.notgit/config new file mode 100644 index 0000000..6c9406b --- /dev/null +++ b/test/integration/project/.notgit/config @@ -0,0 +1,7 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true diff --git a/test/integration/project/.notgit/description b/test/integration/project/.notgit/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/test/integration/project/.notgit/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/test/integration/project/.notgit/hooks/applypatch-msg.sample b/test/integration/project/.notgit/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/test/integration/project/.notgit/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/test/integration/project/.notgit/hooks/commit-msg.sample b/test/integration/project/.notgit/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/test/integration/project/.notgit/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/test/integration/project/.notgit/hooks/fsmonitor-watchman.sample b/test/integration/project/.notgit/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..e673bb3 --- /dev/null +++ b/test/integration/project/.notgit/hooks/fsmonitor-watchman.sample @@ -0,0 +1,114 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 1) and a time in nanoseconds +# formatted as a string and outputs to stdout all files that have been +# modified since the given time. Paths must be relative to the root of +# the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $time) = @ARGV; + +# Check the hook interface version + +if ($version == 1) { + # convert nanoseconds to seconds + $time = int $time / 1000000000; +} else { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree; +if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $git_work_tree = Win32::GetCwd(); + $git_work_tree =~ tr/\\/\//; +} else { + require Cwd; + $git_work_tree = Cwd::cwd(); +} + +my $retry = 1; + +launch_watchman(); + +sub launch_watchman { + + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $time but were not transient (ie created after + # $time but no longer exist). + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + # + # The category of transient files that we want to ignore will have a + # creation clock (cclock) newer than $time_t value and will also not + # currently exist. + + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $time, + "fields": ["name"], + "expression": ["not", ["allof", ["since", $time, "cclock"], ["not", "exists"]]] + }] + END + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + my $json_pkg; + eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; + } or do { + require JSON::PP; + $json_pkg = "JSON::PP"; + }; + + my $o = $json_pkg->new->utf8->decode($response); + + if ($retry > 0 and $o->{error} and $o->{error} =~ m/unable to resolve root .* directory (.*) is not watched/) { + print STDERR "Adding '$git_work_tree' to watchman's watch list.\n"; + $retry--; + qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + print "/\0"; + eval { launch_watchman() }; + exit 0; + } + + die "Watchman: $o->{error}.\n" . + "Falling back to scanning...\n" if $o->{error}; + + binmode STDOUT, ":utf8"; + local $, = "\0"; + print @{$o->{files}}; +} diff --git a/test/integration/project/.notgit/hooks/post-update.sample b/test/integration/project/.notgit/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/test/integration/project/.notgit/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/test/integration/project/.notgit/hooks/pre-applypatch.sample b/test/integration/project/.notgit/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/test/integration/project/.notgit/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/test/integration/project/.notgit/hooks/pre-commit.sample b/test/integration/project/.notgit/hooks/pre-commit.sample new file mode 100755 index 0000000..6a75641 --- /dev/null +++ b/test/integration/project/.notgit/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/test/integration/project/.notgit/hooks/pre-push.sample b/test/integration/project/.notgit/hooks/pre-push.sample new file mode 100755 index 0000000..6187dbf --- /dev/null +++ b/test/integration/project/.notgit/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +z40=0000000000000000000000000000000000000000 + +while read local_ref local_sha remote_ref remote_sha +do + if [ "$local_sha" = $z40 ] + then + # Handle delete + : + else + if [ "$remote_sha" = $z40 ] + then + # New branch, examine all commits + range="$local_sha" + else + # Update to existing branch, examine new commits + range="$remote_sha..$local_sha" + fi + + # Check for WIP commit + commit=`git rev-list -n 1 --grep '^WIP' "$range"` + if [ -n "$commit" ] + then + echo >&2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/test/integration/project/.notgit/hooks/pre-rebase.sample b/test/integration/project/.notgit/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/test/integration/project/.notgit/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/test/integration/project/.notgit/hooks/pre-receive.sample b/test/integration/project/.notgit/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/test/integration/project/.notgit/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/test/integration/project/.notgit/hooks/prepare-commit-msg.sample b/test/integration/project/.notgit/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/test/integration/project/.notgit/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/test/integration/project/.notgit/hooks/update.sample b/test/integration/project/.notgit/hooks/update.sample new file mode 100755 index 0000000..80ba941 --- /dev/null +++ b/test/integration/project/.notgit/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/test/integration/project/.notgit/index b/test/integration/project/.notgit/index new file mode 100644 index 0000000..ebeb7c1 Binary files /dev/null and b/test/integration/project/.notgit/index differ diff --git a/test/integration/project/.notgit/info/exclude b/test/integration/project/.notgit/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/test/integration/project/.notgit/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/test/integration/project/.notgit/logs/refs/heads/add_class b/test/integration/project/.notgit/logs/refs/heads/add_class new file mode 100644 index 0000000..39a5e5c --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/add_class @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499625 -0600 branch: Created from master +8d411d5e0074d561e39cc35aec38f7e755e69604 5a3cbf0fab4e6fe1fd0a512830f9bf2b8cea23cb Charlie Jonas 1572499649 -0600 commit: Added a new class diff --git a/test/integration/project/.notgit/logs/refs/heads/add_field b/test/integration/project/.notgit/logs/refs/heads/add_field new file mode 100644 index 0000000..cdaede5 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/add_field @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499660 -0600 branch: Created from master +8d411d5e0074d561e39cc35aec38f7e755e69604 c1c94fde73cdfff1a47e0fe7162bdc06137b2559 Charlie Jonas 1572499757 -0600 commit: added a field diff --git a/test/integration/project/.notgit/logs/refs/heads/add_object b/test/integration/project/.notgit/logs/refs/heads/add_object new file mode 100644 index 0000000..d24e170 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/add_object @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499783 -0600 branch: Created from master +8d411d5e0074d561e39cc35aec38f7e755e69604 a0a46a9f8fd191238537bd26d28b7a035f90b77f Charlie Jonas 1572499833 -0600 commit: added an object diff --git a/test/integration/project/.notgit/logs/refs/heads/add_static_resource b/test/integration/project/.notgit/logs/refs/heads/add_static_resource new file mode 100644 index 0000000..c8226e1 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/add_static_resource @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499844 -0600 branch: Created from master +8d411d5e0074d561e39cc35aec38f7e755e69604 35a9ec2d9c608f949a4b7acb27f48102d55cc4c4 Charlie Jonas 1572499907 -0600 commit: added a static resource diff --git a/test/integration/project/.notgit/logs/refs/heads/del_class b/test/integration/project/.notgit/logs/refs/heads/del_class new file mode 100644 index 0000000..d9707c9 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/del_class @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499472 -0600 branch: Created from HEAD +8d411d5e0074d561e39cc35aec38f7e755e69604 3e9ae7f54c4954c400dbf2b3b59c8d6b6b95b552 Charlie Jonas 1572499484 -0600 commit: deleted a class diff --git a/test/integration/project/.notgit/logs/refs/heads/del_field b/test/integration/project/.notgit/logs/refs/heads/del_field new file mode 100644 index 0000000..65411ff --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/del_field @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499498 -0600 branch: Created from HEAD +8d411d5e0074d561e39cc35aec38f7e755e69604 6ca28dc0d4a530a2805465e4220c6973702acfe0 Charlie Jonas 1572499516 -0600 commit: deleted a field diff --git a/test/integration/project/.notgit/logs/refs/heads/del_object b/test/integration/project/.notgit/logs/refs/heads/del_object new file mode 100644 index 0000000..b7a5bc2 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/del_object @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499532 -0600 branch: Created from master +8d411d5e0074d561e39cc35aec38f7e755e69604 c035a6c3e73bb3935521a631024a4cf5d0c5a050 Charlie Jonas 1572499552 -0600 commit: deleted an object diff --git a/test/integration/project/.notgit/logs/refs/heads/del_single_file_from_folder b/test/integration/project/.notgit/logs/refs/heads/del_single_file_from_folder new file mode 100644 index 0000000..7811faf --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/del_single_file_from_folder @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572500837 -0600 branch: Created from master +8d411d5e0074d561e39cc35aec38f7e755e69604 30d3d6de84f92e87588340070a04fa5b37050a63 Charlie Jonas 1572500870 -0600 commit: removed LWC file diff --git a/test/integration/project/.notgit/logs/refs/heads/del_static_resource b/test/integration/project/.notgit/logs/refs/heads/del_static_resource new file mode 100644 index 0000000..8a61327 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/del_static_resource @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499574 -0600 branch: Created from master +8d411d5e0074d561e39cc35aec38f7e755e69604 f338dc01b565c816e8faa8d5e8dbe7be9334f390 Charlie Jonas 1572499603 -0600 commit: deleted a static resource (single file) diff --git a/test/integration/project/.notgit/logs/refs/heads/master b/test/integration/project/.notgit/logs/refs/heads/master new file mode 100644 index 0000000..f8963e0 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499104 -0600 commit (initial): created a base project with some metadata that can be used to test modification & deletions diff --git a/test/integration/project/.notgit/logs/refs/heads/mod_class b/test/integration/project/.notgit/logs/refs/heads/mod_class new file mode 100644 index 0000000..723785e --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/mod_class @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499144 -0600 branch: Created from HEAD +8d411d5e0074d561e39cc35aec38f7e755e69604 cc460dc03401223db47d218f3c5122841afefe03 Charlie Jonas 1572499169 -0600 commit: modified a class diff --git a/test/integration/project/.notgit/logs/refs/heads/mod_class_meta b/test/integration/project/.notgit/logs/refs/heads/mod_class_meta new file mode 100644 index 0000000..e30e2d5 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/mod_class_meta @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499188 -0600 branch: Created from HEAD +8d411d5e0074d561e39cc35aec38f7e755e69604 aca00b825d2225b601ca6bccd4bdce0a51751b0a Charlie Jonas 1572499207 -0600 commit: change api version diff --git a/test/integration/project/.notgit/logs/refs/heads/mod_field b/test/integration/project/.notgit/logs/refs/heads/mod_field new file mode 100644 index 0000000..1daa993 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/mod_field @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499240 -0600 branch: Created from HEAD +8d411d5e0074d561e39cc35aec38f7e755e69604 1819d59ff8bfd0f16dec35644b84a3159402282b Charlie Jonas 1572499273 -0600 commit: Updating a field diff --git a/test/integration/project/.notgit/logs/refs/heads/mod_object b/test/integration/project/.notgit/logs/refs/heads/mod_object new file mode 100644 index 0000000..af0ad8c --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/mod_object @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499294 -0600 branch: Created from HEAD +8d411d5e0074d561e39cc35aec38f7e755e69604 e0a88fb4150ae43a190ddbc5b71329495b13707c Charlie Jonas 1572499330 -0600 commit: updated foo label diff --git a/test/integration/project/.notgit/logs/refs/heads/mod_partially_delete_static_resource b/test/integration/project/.notgit/logs/refs/heads/mod_partially_delete_static_resource new file mode 100644 index 0000000..95567a3 --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/mod_partially_delete_static_resource @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499421 -0600 branch: Created from HEAD +8d411d5e0074d561e39cc35aec38f7e755e69604 0aac988ce70a244636e3e41069044cbed95aca04 Charlie Jonas 1572499442 -0600 commit: deleted one file from static resource (folder) diff --git a/test/integration/project/.notgit/logs/refs/heads/mod_static_resource b/test/integration/project/.notgit/logs/refs/heads/mod_static_resource new file mode 100644 index 0000000..e7eea8e --- /dev/null +++ b/test/integration/project/.notgit/logs/refs/heads/mod_static_resource @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 8d411d5e0074d561e39cc35aec38f7e755e69604 Charlie Jonas 1572499367 -0600 branch: Created from HEAD +8d411d5e0074d561e39cc35aec38f7e755e69604 38268f39bdb0bf6fd484f3e8e0087220867fa9b5 Charlie Jonas 1572499398 -0600 commit: changed static resource .txt diff --git a/test/integration/project/.notgit/objects/02/ed413dfb39bc7cb45d2563d02b977d1e14d5ee b/test/integration/project/.notgit/objects/02/ed413dfb39bc7cb45d2563d02b977d1e14d5ee new file mode 100644 index 0000000..b7d1867 --- /dev/null +++ b/test/integration/project/.notgit/objects/02/ed413dfb39bc7cb45d2563d02b977d1e14d5ee @@ -0,0 +1 @@ +xKOR05a()LOO-RpH-I r\C4RR2SJ4jA \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/0a/8f541c2cb08285b6cc57d3950618793a59728b b/test/integration/project/.notgit/objects/0a/8f541c2cb08285b6cc57d3950618793a59728b new file mode 100644 index 0000000..39c1755 Binary files /dev/null and b/test/integration/project/.notgit/objects/0a/8f541c2cb08285b6cc57d3950618793a59728b differ diff --git a/test/integration/project/.notgit/objects/0a/ac988ce70a244636e3e41069044cbed95aca04 b/test/integration/project/.notgit/objects/0a/ac988ce70a244636e3e41069044cbed95aca04 new file mode 100644 index 0000000..c1c457c --- /dev/null +++ b/test/integration/project/.notgit/objects/0a/ac988ce70a244636e3e41069044cbed95aca04 @@ -0,0 +1,3 @@ +xMJ1D]ԅDwޢȤ?2 +nWoQq&Ňљx[=F޲Ed@[66Yع X\g>,ld=rC +)M:|ܰ) OxNX+~U2I;:Jz!9`Ѹ3jyz?ͩ̕gư:Q:rubxܥfOhc \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/0a/b9b20e6e9deb5191213c7ae4d98bd6d2eaf44c b/test/integration/project/.notgit/objects/0a/b9b20e6e9deb5191213c7ae4d98bd6d2eaf44c new file mode 100644 index 0000000..687e2c8 Binary files /dev/null and b/test/integration/project/.notgit/objects/0a/b9b20e6e9deb5191213c7ae4d98bd6d2eaf44c differ diff --git a/test/integration/project/.notgit/objects/0b/153a30edaba62cf8c17fabc1759e374ac63881 b/test/integration/project/.notgit/objects/0b/153a30edaba62cf8c17fabc1759e374ac63881 new file mode 100644 index 0000000..c0c2aa8 Binary files /dev/null and b/test/integration/project/.notgit/objects/0b/153a30edaba62cf8c17fabc1759e374ac63881 differ diff --git a/test/integration/project/.notgit/objects/0d/6d0cedf06932beff8ccf68fa758031cffe54b9 b/test/integration/project/.notgit/objects/0d/6d0cedf06932beff8ccf68fa758031cffe54b9 new file mode 100644 index 0000000..35ee009 Binary files /dev/null and b/test/integration/project/.notgit/objects/0d/6d0cedf06932beff8ccf68fa758031cffe54b9 differ diff --git a/test/integration/project/.notgit/objects/0e/16423e7e7ead5e445af9a87c68b46a270b7a77 b/test/integration/project/.notgit/objects/0e/16423e7e7ead5e445af9a87c68b46a270b7a77 new file mode 100644 index 0000000..d6b02e6 Binary files /dev/null and b/test/integration/project/.notgit/objects/0e/16423e7e7ead5e445af9a87c68b46a270b7a77 differ diff --git a/test/integration/project/.notgit/objects/0e/ea21e4388200485959746b4135f58d45711883 b/test/integration/project/.notgit/objects/0e/ea21e4388200485959746b4135f58d45711883 new file mode 100644 index 0000000..621edf8 Binary files /dev/null and b/test/integration/project/.notgit/objects/0e/ea21e4388200485959746b4135f58d45711883 differ diff --git a/test/integration/project/.notgit/objects/10/117ca4911392742a83934fbb15ca85dcc1260e b/test/integration/project/.notgit/objects/10/117ca4911392742a83934fbb15ca85dcc1260e new file mode 100644 index 0000000..3d469e1 Binary files /dev/null and b/test/integration/project/.notgit/objects/10/117ca4911392742a83934fbb15ca85dcc1260e differ diff --git a/test/integration/project/.notgit/objects/14/cb078f1ddda25d96637fd0eb0d387641a51407 b/test/integration/project/.notgit/objects/14/cb078f1ddda25d96637fd0eb0d387641a51407 new file mode 100644 index 0000000..0bcdd88 Binary files /dev/null and b/test/integration/project/.notgit/objects/14/cb078f1ddda25d96637fd0eb0d387641a51407 differ diff --git a/test/integration/project/.notgit/objects/17/261e9c9364f558cfe4b6ee5b71cb11ce8dfc2b b/test/integration/project/.notgit/objects/17/261e9c9364f558cfe4b6ee5b71cb11ce8dfc2b new file mode 100644 index 0000000..f46b983 Binary files /dev/null and b/test/integration/project/.notgit/objects/17/261e9c9364f558cfe4b6ee5b71cb11ce8dfc2b differ diff --git a/test/integration/project/.notgit/objects/17/71e8e06410bb24b54db7e92e79d9311df28a82 b/test/integration/project/.notgit/objects/17/71e8e06410bb24b54db7e92e79d9311df28a82 new file mode 100644 index 0000000..9d4aa19 Binary files /dev/null and b/test/integration/project/.notgit/objects/17/71e8e06410bb24b54db7e92e79d9311df28a82 differ diff --git a/test/integration/project/.notgit/objects/18/19d59ff8bfd0f16dec35644b84a3159402282b b/test/integration/project/.notgit/objects/18/19d59ff8bfd0f16dec35644b84a3159402282b new file mode 100644 index 0000000..b178798 Binary files /dev/null and b/test/integration/project/.notgit/objects/18/19d59ff8bfd0f16dec35644b84a3159402282b differ diff --git a/test/integration/project/.notgit/objects/18/32ce89c43b3987472fdb994f6134be8b9b6f32 b/test/integration/project/.notgit/objects/18/32ce89c43b3987472fdb994f6134be8b9b6f32 new file mode 100644 index 0000000..cd8de87 Binary files /dev/null and b/test/integration/project/.notgit/objects/18/32ce89c43b3987472fdb994f6134be8b9b6f32 differ diff --git a/test/integration/project/.notgit/objects/1d/d9b8818a277207864dd25fa9eab1661d06328d b/test/integration/project/.notgit/objects/1d/d9b8818a277207864dd25fa9eab1661d06328d new file mode 100644 index 0000000..991e455 Binary files /dev/null and b/test/integration/project/.notgit/objects/1d/d9b8818a277207864dd25fa9eab1661d06328d differ diff --git a/test/integration/project/.notgit/objects/1e/03665d6fad567853d5f2e3c05d6d3ae2226eeb b/test/integration/project/.notgit/objects/1e/03665d6fad567853d5f2e3c05d6d3ae2226eeb new file mode 100644 index 0000000..073d012 Binary files /dev/null and b/test/integration/project/.notgit/objects/1e/03665d6fad567853d5f2e3c05d6d3ae2226eeb differ diff --git a/test/integration/project/.notgit/objects/1f/327e8da5e7a8031b6ac1efca64c11af79ef15f b/test/integration/project/.notgit/objects/1f/327e8da5e7a8031b6ac1efca64c11af79ef15f new file mode 100644 index 0000000..d363c3c Binary files /dev/null and b/test/integration/project/.notgit/objects/1f/327e8da5e7a8031b6ac1efca64c11af79ef15f differ diff --git a/test/integration/project/.notgit/objects/20/1a90956286e6e5b4709ea1aab809a38d288f7a b/test/integration/project/.notgit/objects/20/1a90956286e6e5b4709ea1aab809a38d288f7a new file mode 100644 index 0000000..d9cf221 Binary files /dev/null and b/test/integration/project/.notgit/objects/20/1a90956286e6e5b4709ea1aab809a38d288f7a differ diff --git a/test/integration/project/.notgit/objects/24/35fbc0746cf500552f498d5fbace40d4b69cff b/test/integration/project/.notgit/objects/24/35fbc0746cf500552f498d5fbace40d4b69cff new file mode 100644 index 0000000..acc2035 Binary files /dev/null and b/test/integration/project/.notgit/objects/24/35fbc0746cf500552f498d5fbace40d4b69cff differ diff --git a/test/integration/project/.notgit/objects/25/c0bdaf77ebd3a086923ebd6c2ed41b4a393ec9 b/test/integration/project/.notgit/objects/25/c0bdaf77ebd3a086923ebd6c2ed41b4a393ec9 new file mode 100644 index 0000000..8b3e187 Binary files /dev/null and b/test/integration/project/.notgit/objects/25/c0bdaf77ebd3a086923ebd6c2ed41b4a393ec9 differ diff --git a/test/integration/project/.notgit/objects/25/fb28894b81a186d9660429fb22c253d25334d4 b/test/integration/project/.notgit/objects/25/fb28894b81a186d9660429fb22c253d25334d4 new file mode 100644 index 0000000..bc3b0d3 --- /dev/null +++ b/test/integration/project/.notgit/objects/25/fb28894b81a186d9660429fb22c253d25334d4 @@ -0,0 +1,3 @@ +x 1 PgNAbm +|PB#%uycUiY (@ +Mx"qbp2} \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/26/960a0df2dd08267c5a99a31b325d8f8b0326ba b/test/integration/project/.notgit/objects/26/960a0df2dd08267c5a99a31b325d8f8b0326ba new file mode 100644 index 0000000..210b983 Binary files /dev/null and b/test/integration/project/.notgit/objects/26/960a0df2dd08267c5a99a31b325d8f8b0326ba differ diff --git a/test/integration/project/.notgit/objects/26/afce8e2df91b068edd62ae4309b5999c44020c b/test/integration/project/.notgit/objects/26/afce8e2df91b068edd62ae4309b5999c44020c new file mode 100644 index 0000000..9cc0355 --- /dev/null +++ b/test/integration/project/.notgit/objects/26/afce8e2df91b068edd62ae4309b5999c44020c @@ -0,0 +1,2 @@ +xe +0D]+B"R%MJqՕ~@Lo5GIRѿ ,spZ,}`L&gךOb$b?\kt6|-q4 58̪WY1I1LvʡI O%G-b4Z|Aل8sH7?DA \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/26/d79626870a42b5fac0ed3753d6a65edd868d1f b/test/integration/project/.notgit/objects/26/d79626870a42b5fac0ed3753d6a65edd868d1f new file mode 100644 index 0000000..089b473 --- /dev/null +++ b/test/integration/project/.notgit/objects/26/d79626870a42b5fac0ed3753d6a65edd868d1f @@ -0,0 +1,2 @@ +x5 +@ GfiJ7Uq^;$}wKbku@mzB#ydhSc4בNv%d*,Q;w9'n*(+>gEK$qVt.P <8 \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/27/0d533281a53f3db242d4ddbfc8ca97abde7159 b/test/integration/project/.notgit/objects/27/0d533281a53f3db242d4ddbfc8ca97abde7159 new file mode 100644 index 0000000..a081cfb Binary files /dev/null and b/test/integration/project/.notgit/objects/27/0d533281a53f3db242d4ddbfc8ca97abde7159 differ diff --git a/test/integration/project/.notgit/objects/27/e0f69560f56756864c96333af83d5c1d4db770 b/test/integration/project/.notgit/objects/27/e0f69560f56756864c96333af83d5c1d4db770 new file mode 100644 index 0000000..803116e Binary files /dev/null and b/test/integration/project/.notgit/objects/27/e0f69560f56756864c96333af83d5c1d4db770 differ diff --git a/test/integration/project/.notgit/objects/28/51fbbac7d6ac546558b85bf1eb6d9d4a17162f b/test/integration/project/.notgit/objects/28/51fbbac7d6ac546558b85bf1eb6d9d4a17162f new file mode 100644 index 0000000..16d1bda Binary files /dev/null and b/test/integration/project/.notgit/objects/28/51fbbac7d6ac546558b85bf1eb6d9d4a17162f differ diff --git a/test/integration/project/.notgit/objects/28/65eccd04fc47a4329eb3b58409a782e23e242c b/test/integration/project/.notgit/objects/28/65eccd04fc47a4329eb3b58409a782e23e242c new file mode 100644 index 0000000..2695899 Binary files /dev/null and b/test/integration/project/.notgit/objects/28/65eccd04fc47a4329eb3b58409a782e23e242c differ diff --git a/test/integration/project/.notgit/objects/28/fb5dc3bc99c8fbf6b7b9a6be56e06faea9709a b/test/integration/project/.notgit/objects/28/fb5dc3bc99c8fbf6b7b9a6be56e06faea9709a new file mode 100644 index 0000000..fc89ce7 Binary files /dev/null and b/test/integration/project/.notgit/objects/28/fb5dc3bc99c8fbf6b7b9a6be56e06faea9709a differ diff --git a/test/integration/project/.notgit/objects/29/511ed8f8e6617d7415280df9ab0b9d38a8c638 b/test/integration/project/.notgit/objects/29/511ed8f8e6617d7415280df9ab0b9d38a8c638 new file mode 100644 index 0000000..19d2f4e Binary files /dev/null and b/test/integration/project/.notgit/objects/29/511ed8f8e6617d7415280df9ab0b9d38a8c638 differ diff --git a/test/integration/project/.notgit/objects/29/5f40491da237cbab2d335eb51c8d7b764d4b5f b/test/integration/project/.notgit/objects/29/5f40491da237cbab2d335eb51c8d7b764d4b5f new file mode 100644 index 0000000..9442a10 Binary files /dev/null and b/test/integration/project/.notgit/objects/29/5f40491da237cbab2d335eb51c8d7b764d4b5f differ diff --git a/test/integration/project/.notgit/objects/2d/b98e17c05213d5277725abe76a0e4108793cab b/test/integration/project/.notgit/objects/2d/b98e17c05213d5277725abe76a0e4108793cab new file mode 100644 index 0000000..41e5c69 Binary files /dev/null and b/test/integration/project/.notgit/objects/2d/b98e17c05213d5277725abe76a0e4108793cab differ diff --git a/test/integration/project/.notgit/objects/30/705bde2c12f895198633beb6765e522778ff4c b/test/integration/project/.notgit/objects/30/705bde2c12f895198633beb6765e522778ff4c new file mode 100644 index 0000000..19ed0a9 Binary files /dev/null and b/test/integration/project/.notgit/objects/30/705bde2c12f895198633beb6765e522778ff4c differ diff --git a/test/integration/project/.notgit/objects/30/d3d6de84f92e87588340070a04fa5b37050a63 b/test/integration/project/.notgit/objects/30/d3d6de84f92e87588340070a04fa5b37050a63 new file mode 100644 index 0000000..bc59bb9 Binary files /dev/null and b/test/integration/project/.notgit/objects/30/d3d6de84f92e87588340070a04fa5b37050a63 differ diff --git a/test/integration/project/.notgit/objects/33/696fc5e0803bd1956d631a1a693e8e7a0f4eb2 b/test/integration/project/.notgit/objects/33/696fc5e0803bd1956d631a1a693e8e7a0f4eb2 new file mode 100644 index 0000000..9e9d3d8 Binary files /dev/null and b/test/integration/project/.notgit/objects/33/696fc5e0803bd1956d631a1a693e8e7a0f4eb2 differ diff --git a/test/integration/project/.notgit/objects/35/83e30961f58768e82625b21092de852774b525 b/test/integration/project/.notgit/objects/35/83e30961f58768e82625b21092de852774b525 new file mode 100644 index 0000000..adcd20c Binary files /dev/null and b/test/integration/project/.notgit/objects/35/83e30961f58768e82625b21092de852774b525 differ diff --git a/test/integration/project/.notgit/objects/35/a9ec2d9c608f949a4b7acb27f48102d55cc4c4 b/test/integration/project/.notgit/objects/35/a9ec2d9c608f949a4b7acb27f48102d55cc4c4 new file mode 100644 index 0000000..2ad4d96 Binary files /dev/null and b/test/integration/project/.notgit/objects/35/a9ec2d9c608f949a4b7acb27f48102d55cc4c4 differ diff --git a/test/integration/project/.notgit/objects/37/9b2363cdf5398771bf67acb2a67bebd14dc323 b/test/integration/project/.notgit/objects/37/9b2363cdf5398771bf67acb2a67bebd14dc323 new file mode 100644 index 0000000..55b9762 Binary files /dev/null and b/test/integration/project/.notgit/objects/37/9b2363cdf5398771bf67acb2a67bebd14dc323 differ diff --git a/test/integration/project/.notgit/objects/38/268f39bdb0bf6fd484f3e8e0087220867fa9b5 b/test/integration/project/.notgit/objects/38/268f39bdb0bf6fd484f3e8e0087220867fa9b5 new file mode 100644 index 0000000..4c32360 Binary files /dev/null and b/test/integration/project/.notgit/objects/38/268f39bdb0bf6fd484f3e8e0087220867fa9b5 differ diff --git a/test/integration/project/.notgit/objects/39/d56105c4964a9394a9eac1144039824194a190 b/test/integration/project/.notgit/objects/39/d56105c4964a9394a9eac1144039824194a190 new file mode 100644 index 0000000..d3c40d3 --- /dev/null +++ b/test/integration/project/.notgit/objects/39/d56105c4964a9394a9eac1144039824194a190 @@ -0,0 +1,3 @@ +xeK +0]!{XB(ԅ MpA4 8?zBF \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/5f/1ee20deb5a4f5ea251f2a7359c34ed7a9cd86e b/test/integration/project/.notgit/objects/5f/1ee20deb5a4f5ea251f2a7359c34ed7a9cd86e new file mode 100644 index 0000000..cb07e8c Binary files /dev/null and b/test/integration/project/.notgit/objects/5f/1ee20deb5a4f5ea251f2a7359c34ed7a9cd86e differ diff --git a/test/integration/project/.notgit/objects/62/18fd9207992d6295af5fee6434ba8a1f976fe1 b/test/integration/project/.notgit/objects/62/18fd9207992d6295af5fee6434ba8a1f976fe1 new file mode 100644 index 0000000..9492782 Binary files /dev/null and b/test/integration/project/.notgit/objects/62/18fd9207992d6295af5fee6434ba8a1f976fe1 differ diff --git a/test/integration/project/.notgit/objects/62/adec661613a35e60a04a792693d3ed585a4d18 b/test/integration/project/.notgit/objects/62/adec661613a35e60a04a792693d3ed585a4d18 new file mode 100644 index 0000000..271a1f7 Binary files /dev/null and b/test/integration/project/.notgit/objects/62/adec661613a35e60a04a792693d3ed585a4d18 differ diff --git a/test/integration/project/.notgit/objects/63/0e27dfd7751f2e642a6c9ff61a6735116dc0ea b/test/integration/project/.notgit/objects/63/0e27dfd7751f2e642a6c9ff61a6735116dc0ea new file mode 100644 index 0000000..33d9e48 --- /dev/null +++ b/test/integration/project/.notgit/objects/63/0e27dfd7751f2e642a6c9ff61a6735116dc0ea @@ -0,0 +1 @@ +xeMK0E]WmZI3l\:e^{Eqyryo$7۶m!>vjgfחT%)D3aaCǏ1Bk&5-iEs'` WcrJDϰ:wn'H߀JBV.HF<ߩAzD434MXb%T 1k \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/64/d77ec1c5bed2d01498f35dbf7141856876e4f7 b/test/integration/project/.notgit/objects/64/d77ec1c5bed2d01498f35dbf7141856876e4f7 new file mode 100644 index 0000000..c063b04 Binary files /dev/null and b/test/integration/project/.notgit/objects/64/d77ec1c5bed2d01498f35dbf7141856876e4f7 differ diff --git a/test/integration/project/.notgit/objects/64/dd9bb8b60001722bcd55f40820aae6fc624935 b/test/integration/project/.notgit/objects/64/dd9bb8b60001722bcd55f40820aae6fc624935 new file mode 100644 index 0000000..077c2ff Binary files /dev/null and b/test/integration/project/.notgit/objects/64/dd9bb8b60001722bcd55f40820aae6fc624935 differ diff --git a/test/integration/project/.notgit/objects/66/4da7f09037cb065540bbd94191494e662557d5 b/test/integration/project/.notgit/objects/66/4da7f09037cb065540bbd94191494e662557d5 new file mode 100644 index 0000000..342ddeb --- /dev/null +++ b/test/integration/project/.notgit/objects/66/4da7f09037cb065540bbd94191494e662557d5 @@ -0,0 +1,2 @@ +xUA +0D]!{Bp-ZƯ fr 3ǞՕ\5z6ÔW ś _z[] r K!5| {!X;椴8Zʭ1!u5vfC@;61zg:q1a.I \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/67/7b83a333df7d966bc6601512657e7fe9854fc5 b/test/integration/project/.notgit/objects/67/7b83a333df7d966bc6601512657e7fe9854fc5 new file mode 100644 index 0000000..23d2e53 Binary files /dev/null and b/test/integration/project/.notgit/objects/67/7b83a333df7d966bc6601512657e7fe9854fc5 differ diff --git a/test/integration/project/.notgit/objects/67/944ecf2dd11f2359fde7e57ff990359031bc01 b/test/integration/project/.notgit/objects/67/944ecf2dd11f2359fde7e57ff990359031bc01 new file mode 100644 index 0000000..f737992 Binary files /dev/null and b/test/integration/project/.notgit/objects/67/944ecf2dd11f2359fde7e57ff990359031bc01 differ diff --git a/test/integration/project/.notgit/objects/69/7cdd2b99495116fb5e3b56d13dc234e719f912 b/test/integration/project/.notgit/objects/69/7cdd2b99495116fb5e3b56d13dc234e719f912 new file mode 100644 index 0000000..e83a147 Binary files /dev/null and b/test/integration/project/.notgit/objects/69/7cdd2b99495116fb5e3b56d13dc234e719f912 differ diff --git a/test/integration/project/.notgit/objects/6c/a28dc0d4a530a2805465e4220c6973702acfe0 b/test/integration/project/.notgit/objects/6c/a28dc0d4a530a2805465e4220c6973702acfe0 new file mode 100644 index 0000000..c6783b5 Binary files /dev/null and b/test/integration/project/.notgit/objects/6c/a28dc0d4a530a2805465e4220c6973702acfe0 differ diff --git a/test/integration/project/.notgit/objects/6c/a4c7a1952926ce506d430397f693f073b5b423 b/test/integration/project/.notgit/objects/6c/a4c7a1952926ce506d430397f693f073b5b423 new file mode 100644 index 0000000..f72cadb Binary files /dev/null and b/test/integration/project/.notgit/objects/6c/a4c7a1952926ce506d430397f693f073b5b423 differ diff --git a/test/integration/project/.notgit/objects/6d/49c53cf67469bc06a6255d16ff93bcf4134455 b/test/integration/project/.notgit/objects/6d/49c53cf67469bc06a6255d16ff93bcf4134455 new file mode 100644 index 0000000..1ea9985 --- /dev/null +++ b/test/integration/project/.notgit/objects/6d/49c53cf67469bc06a6255d16ff93bcf4134455 @@ -0,0 +1,3 @@ +xeA +0D]!{B( +=@l~4/IV o9k<,]Nx0mN8ltA uذ>ce]qeI2gɌR (^Zq[p[7yɪ-Ԧ 끳Cbw#2g?/EqJ \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/6d/55d1636aa92b5c74b541614a7136c7bafa4df1 b/test/integration/project/.notgit/objects/6d/55d1636aa92b5c74b541614a7136c7bafa4df1 new file mode 100644 index 0000000..66ee60a Binary files /dev/null and b/test/integration/project/.notgit/objects/6d/55d1636aa92b5c74b541614a7136c7bafa4df1 differ diff --git a/test/integration/project/.notgit/objects/6d/648fe4651601dcfb22d1e84339de5ebf0c966c b/test/integration/project/.notgit/objects/6d/648fe4651601dcfb22d1e84339de5ebf0c966c new file mode 100644 index 0000000..15fa6b3 Binary files /dev/null and b/test/integration/project/.notgit/objects/6d/648fe4651601dcfb22d1e84339de5ebf0c966c differ diff --git a/test/integration/project/.notgit/objects/6d/7862d90097ba6dd51aadbd67f0f8ceb19f9039 b/test/integration/project/.notgit/objects/6d/7862d90097ba6dd51aadbd67f0f8ceb19f9039 new file mode 100644 index 0000000..1841f22 Binary files /dev/null and b/test/integration/project/.notgit/objects/6d/7862d90097ba6dd51aadbd67f0f8ceb19f9039 differ diff --git a/test/integration/project/.notgit/objects/6f/18c699518c66ca5f36cfda62892c57c8253c3e b/test/integration/project/.notgit/objects/6f/18c699518c66ca5f36cfda62892c57c8253c3e new file mode 100644 index 0000000..a7acea4 Binary files /dev/null and b/test/integration/project/.notgit/objects/6f/18c699518c66ca5f36cfda62892c57c8253c3e differ diff --git a/test/integration/project/.notgit/objects/6f/d8e30d5e9b0f5581e138eba30504cebd9c6445 b/test/integration/project/.notgit/objects/6f/d8e30d5e9b0f5581e138eba30504cebd9c6445 new file mode 100644 index 0000000..7f1f20b Binary files /dev/null and b/test/integration/project/.notgit/objects/6f/d8e30d5e9b0f5581e138eba30504cebd9c6445 differ diff --git a/test/integration/project/.notgit/objects/72/c356340c78af1dfc72a7e018a34f3a13bc10c5 b/test/integration/project/.notgit/objects/72/c356340c78af1dfc72a7e018a34f3a13bc10c5 new file mode 100644 index 0000000..cd5ce90 Binary files /dev/null and b/test/integration/project/.notgit/objects/72/c356340c78af1dfc72a7e018a34f3a13bc10c5 differ diff --git a/test/integration/project/.notgit/objects/77/ff3890b5c2fef0a48e600fe9dd35f62cc15801 b/test/integration/project/.notgit/objects/77/ff3890b5c2fef0a48e600fe9dd35f62cc15801 new file mode 100644 index 0000000..8f7aa58 Binary files /dev/null and b/test/integration/project/.notgit/objects/77/ff3890b5c2fef0a48e600fe9dd35f62cc15801 differ diff --git a/test/integration/project/.notgit/objects/79/72395893814ce5a22772200d0e39ddaffb70d8 b/test/integration/project/.notgit/objects/79/72395893814ce5a22772200d0e39ddaffb70d8 new file mode 100644 index 0000000..0aff67f Binary files /dev/null and b/test/integration/project/.notgit/objects/79/72395893814ce5a22772200d0e39ddaffb70d8 differ diff --git a/test/integration/project/.notgit/objects/79/bf2b988e612242ef31bb9e747341ee1f145736 b/test/integration/project/.notgit/objects/79/bf2b988e612242ef31bb9e747341ee1f145736 new file mode 100644 index 0000000..abd4c79 Binary files /dev/null and b/test/integration/project/.notgit/objects/79/bf2b988e612242ef31bb9e747341ee1f145736 differ diff --git a/test/integration/project/.notgit/objects/7a/9fb899b2d424f9a8730554808199d5d70e8302 b/test/integration/project/.notgit/objects/7a/9fb899b2d424f9a8730554808199d5d70e8302 new file mode 100644 index 0000000..3b9f53c Binary files /dev/null and b/test/integration/project/.notgit/objects/7a/9fb899b2d424f9a8730554808199d5d70e8302 differ diff --git a/test/integration/project/.notgit/objects/7b/06075206b0cc23283e9c9d5d8f490e3ddbd072 b/test/integration/project/.notgit/objects/7b/06075206b0cc23283e9c9d5d8f490e3ddbd072 new file mode 100644 index 0000000..6b8edb5 Binary files /dev/null and b/test/integration/project/.notgit/objects/7b/06075206b0cc23283e9c9d5d8f490e3ddbd072 differ diff --git a/test/integration/project/.notgit/objects/7b/7e8f0476e11d129417d4a6fa2d36d81761670f b/test/integration/project/.notgit/objects/7b/7e8f0476e11d129417d4a6fa2d36d81761670f new file mode 100644 index 0000000..d5abc26 Binary files /dev/null and b/test/integration/project/.notgit/objects/7b/7e8f0476e11d129417d4a6fa2d36d81761670f differ diff --git a/test/integration/project/.notgit/objects/7f/af2e6fadfa550393e032076af778356e133c45 b/test/integration/project/.notgit/objects/7f/af2e6fadfa550393e032076af778356e133c45 new file mode 100644 index 0000000..9c0dc0a Binary files /dev/null and b/test/integration/project/.notgit/objects/7f/af2e6fadfa550393e032076af778356e133c45 differ diff --git a/test/integration/project/.notgit/objects/80/06d29489472953fc81d3958449364b8c6b0aca b/test/integration/project/.notgit/objects/80/06d29489472953fc81d3958449364b8c6b0aca new file mode 100644 index 0000000..44c5913 --- /dev/null +++ b/test/integration/project/.notgit/objects/80/06d29489472953fc81d3958449364b8c6b0aca @@ -0,0 +1 @@ +xeA0=WܷEV4=TI&ФvYw{ǼP|c|fkIKJd5Hh4\(O~/D ihl1mɊ<>E#hUn2 ,8Td=x\jD}엗:0x?٣: _?HV%wRuM \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/81/017d56695fbb468e44b37b660b933284009aa2 b/test/integration/project/.notgit/objects/81/017d56695fbb468e44b37b660b933284009aa2 new file mode 100644 index 0000000..3b12730 Binary files /dev/null and b/test/integration/project/.notgit/objects/81/017d56695fbb468e44b37b660b933284009aa2 differ diff --git a/test/integration/project/.notgit/objects/81/ec751d6299bc61de0cc1cba569428064f534d4 b/test/integration/project/.notgit/objects/81/ec751d6299bc61de0cc1cba569428064f534d4 new file mode 100644 index 0000000..f168081 Binary files /dev/null and b/test/integration/project/.notgit/objects/81/ec751d6299bc61de0cc1cba569428064f534d4 differ diff --git a/test/integration/project/.notgit/objects/82/c90b3e50e886123f8de6a6a6836e2e1afe7ed6 b/test/integration/project/.notgit/objects/82/c90b3e50e886123f8de6a6a6836e2e1afe7ed6 new file mode 100644 index 0000000..c2dc9b6 --- /dev/null +++ b/test/integration/project/.notgit/objects/82/c90b3e50e886123f8de6a6a6836e2e1afe7ed6 @@ -0,0 +1,3 @@ +xUN0 9)i +P M rUs*IQy{2?~#߱FngK C]YqN{3ϚgUM1y H k~Li|"zފzՃ@ +KXT6޷-&J@(WlբØrb308Y\E!rHt$ЧC@w~º Ytn ).~{4w+ \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/85/37db4a9824806e1d8a911b173112b6822dfa91 b/test/integration/project/.notgit/objects/85/37db4a9824806e1d8a911b173112b6822dfa91 new file mode 100644 index 0000000..24cf18d Binary files /dev/null and b/test/integration/project/.notgit/objects/85/37db4a9824806e1d8a911b173112b6822dfa91 differ diff --git a/test/integration/project/.notgit/objects/85/bcb32d8f5e847b8ee2e33bbac052235a9d0751 b/test/integration/project/.notgit/objects/85/bcb32d8f5e847b8ee2e33bbac052235a9d0751 new file mode 100644 index 0000000..5b048a2 Binary files /dev/null and b/test/integration/project/.notgit/objects/85/bcb32d8f5e847b8ee2e33bbac052235a9d0751 differ diff --git a/test/integration/project/.notgit/objects/86/65ff5e327879540ad4cd2e9477d5064f6bdbbd b/test/integration/project/.notgit/objects/86/65ff5e327879540ad4cd2e9477d5064f6bdbbd new file mode 100644 index 0000000..de6d281 Binary files /dev/null and b/test/integration/project/.notgit/objects/86/65ff5e327879540ad4cd2e9477d5064f6bdbbd differ diff --git a/test/integration/project/.notgit/objects/8b/41764f90c72d11a7cad8f80fb4ef21a5cc1563 b/test/integration/project/.notgit/objects/8b/41764f90c72d11a7cad8f80fb4ef21a5cc1563 new file mode 100644 index 0000000..067735f Binary files /dev/null and b/test/integration/project/.notgit/objects/8b/41764f90c72d11a7cad8f80fb4ef21a5cc1563 differ diff --git a/test/integration/project/.notgit/objects/8b/a892a7eb60699381645cefe0f6d342953f3d1e b/test/integration/project/.notgit/objects/8b/a892a7eb60699381645cefe0f6d342953f3d1e new file mode 100644 index 0000000..3d5c252 Binary files /dev/null and b/test/integration/project/.notgit/objects/8b/a892a7eb60699381645cefe0f6d342953f3d1e differ diff --git a/test/integration/project/.notgit/objects/8b/aef1b4abc478178b004d62031cf7fe6db6f903 b/test/integration/project/.notgit/objects/8b/aef1b4abc478178b004d62031cf7fe6db6f903 new file mode 100644 index 0000000..083ead9 Binary files /dev/null and b/test/integration/project/.notgit/objects/8b/aef1b4abc478178b004d62031cf7fe6db6f903 differ diff --git a/test/integration/project/.notgit/objects/8d/411d5e0074d561e39cc35aec38f7e755e69604 b/test/integration/project/.notgit/objects/8d/411d5e0074d561e39cc35aec38f7e755e69604 new file mode 100644 index 0000000..5ed3c02 --- /dev/null +++ b/test/integration/project/.notgit/objects/8d/411d5e0074d561e39cc35aec38f7e755e69604 @@ -0,0 +1 @@ +xAN09}roV'x'/p.KZJ2 ]2΍~>^ '7sO4_::lo9 ޵RÍ+StozDڎl~<y;'79ם ~"}Jw cm \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/91/b23b862e4c99518a63f3d797098eb7bb8f6699 b/test/integration/project/.notgit/objects/91/b23b862e4c99518a63f3d797098eb7bb8f6699 new file mode 100644 index 0000000..5affe29 --- /dev/null +++ b/test/integration/project/.notgit/objects/91/b23b862e4c99518a63f3d797098eb7bb8f6699 @@ -0,0 +1,2 @@ +xM +0=+BfS)*/P4jMB7~n-/FɍcD!.zEmn=TW@G6Sje00/Ә}r/c5(c~ilE6 :[ \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/91/e02eb0daf6033fdd3213b4ce730da4b3cf4774 b/test/integration/project/.notgit/objects/91/e02eb0daf6033fdd3213b4ce730da4b3cf4774 new file mode 100644 index 0000000..eaa0bec Binary files /dev/null and b/test/integration/project/.notgit/objects/91/e02eb0daf6033fdd3213b4ce730da4b3cf4774 differ diff --git a/test/integration/project/.notgit/objects/92/2c65d0f7aabdf165330bfc42d1797bbf90563e b/test/integration/project/.notgit/objects/92/2c65d0f7aabdf165330bfc42d1797bbf90563e new file mode 100644 index 0000000..28c7f75 Binary files /dev/null and b/test/integration/project/.notgit/objects/92/2c65d0f7aabdf165330bfc42d1797bbf90563e differ diff --git a/test/integration/project/.notgit/objects/92/bd7e582ca65721a61c7a892db199f4baba249b b/test/integration/project/.notgit/objects/92/bd7e582ca65721a61c7a892db199f4baba249b new file mode 100644 index 0000000..78c2837 Binary files /dev/null and b/test/integration/project/.notgit/objects/92/bd7e582ca65721a61c7a892db199f4baba249b differ diff --git a/test/integration/project/.notgit/objects/93/3e8108d8dc7b3a71041979622a45208b013d18 b/test/integration/project/.notgit/objects/93/3e8108d8dc7b3a71041979622a45208b013d18 new file mode 100644 index 0000000..2ff0ce1 Binary files /dev/null and b/test/integration/project/.notgit/objects/93/3e8108d8dc7b3a71041979622a45208b013d18 differ diff --git a/test/integration/project/.notgit/objects/93/d2bec969c8fecd9209dd97589ef675495eadc4 b/test/integration/project/.notgit/objects/93/d2bec969c8fecd9209dd97589ef675495eadc4 new file mode 100644 index 0000000..95e9352 Binary files /dev/null and b/test/integration/project/.notgit/objects/93/d2bec969c8fecd9209dd97589ef675495eadc4 differ diff --git a/test/integration/project/.notgit/objects/94/b7724d813ee959864b3942542902304ba3a8ed b/test/integration/project/.notgit/objects/94/b7724d813ee959864b3942542902304ba3a8ed new file mode 100644 index 0000000..242976e Binary files /dev/null and b/test/integration/project/.notgit/objects/94/b7724d813ee959864b3942542902304ba3a8ed differ diff --git a/test/integration/project/.notgit/objects/96/469e2b07b67eae930cd2fd499c8d05b1c105b7 b/test/integration/project/.notgit/objects/96/469e2b07b67eae930cd2fd499c8d05b1c105b7 new file mode 100644 index 0000000..76f11d5 Binary files /dev/null and b/test/integration/project/.notgit/objects/96/469e2b07b67eae930cd2fd499c8d05b1c105b7 differ diff --git a/test/integration/project/.notgit/objects/9b/0f5a4d8cb98b76bca08dea9c2a32e970e72b4c b/test/integration/project/.notgit/objects/9b/0f5a4d8cb98b76bca08dea9c2a32e970e72b4c new file mode 100644 index 0000000..155183d Binary files /dev/null and b/test/integration/project/.notgit/objects/9b/0f5a4d8cb98b76bca08dea9c2a32e970e72b4c differ diff --git a/test/integration/project/.notgit/objects/9b/7b2dbfa9cf07830ea1aa3afe204de63a48aa1c b/test/integration/project/.notgit/objects/9b/7b2dbfa9cf07830ea1aa3afe204de63a48aa1c new file mode 100644 index 0000000..eeff4a8 Binary files /dev/null and b/test/integration/project/.notgit/objects/9b/7b2dbfa9cf07830ea1aa3afe204de63a48aa1c differ diff --git a/test/integration/project/.notgit/objects/9e/51ef0361201ff2350086020c37926198d03226 b/test/integration/project/.notgit/objects/9e/51ef0361201ff2350086020c37926198d03226 new file mode 100644 index 0000000..658bc3e Binary files /dev/null and b/test/integration/project/.notgit/objects/9e/51ef0361201ff2350086020c37926198d03226 differ diff --git a/test/integration/project/.notgit/objects/9f/467c3f13f5f64527b04d99c7ad75461a7a6171 b/test/integration/project/.notgit/objects/9f/467c3f13f5f64527b04d99c7ad75461a7a6171 new file mode 100644 index 0000000..518051d --- /dev/null +++ b/test/integration/project/.notgit/objects/9f/467c3f13f5f64527b04d99c7ad75461a7a6171 @@ -0,0 +1,2 @@ +xUA +0D]!{XTDt!H|KY|cܭT3 &RrWy}.ԍ 9{hO5Q&鉹)-r/V@ap]eᄞ"dXП~hDYSG/G \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/9f/f265a9177cf8a3e380f93c04623c4a96ae766d b/test/integration/project/.notgit/objects/9f/f265a9177cf8a3e380f93c04623c4a96ae766d new file mode 100644 index 0000000..29b0b84 Binary files /dev/null and b/test/integration/project/.notgit/objects/9f/f265a9177cf8a3e380f93c04623c4a96ae766d differ diff --git a/test/integration/project/.notgit/objects/a0/562839b564cca61857c3becbe69da3a93d078c b/test/integration/project/.notgit/objects/a0/562839b564cca61857c3becbe69da3a93d078c new file mode 100644 index 0000000..9fadfa7 --- /dev/null +++ b/test/integration/project/.notgit/objects/a0/562839b564cca61857c3becbe69da3a93d078c @@ -0,0 +1,2 @@ +xe +0D]+B6)"WVInC-"8fz=E;,*( ׆]rZE䡤:!5<4b4PbŚ{zY3E9Nڃ%S=DɿSQ{0_j.HsJ7.E \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/a0/a46a9f8fd191238537bd26d28b7a035f90b77f b/test/integration/project/.notgit/objects/a0/a46a9f8fd191238537bd26d28b7a035f90b77f new file mode 100644 index 0000000..f03a325 Binary files /dev/null and b/test/integration/project/.notgit/objects/a0/a46a9f8fd191238537bd26d28b7a035f90b77f differ diff --git a/test/integration/project/.notgit/objects/a1/5e082a4410853e3844b501f6240b4a96ead8dd b/test/integration/project/.notgit/objects/a1/5e082a4410853e3844b501f6240b4a96ead8dd new file mode 100644 index 0000000..29e8e90 Binary files /dev/null and b/test/integration/project/.notgit/objects/a1/5e082a4410853e3844b501f6240b4a96ead8dd differ diff --git a/test/integration/project/.notgit/objects/a2/f3d9b6cdf0521b0f5d9ae3750afce348a6c80c b/test/integration/project/.notgit/objects/a2/f3d9b6cdf0521b0f5d9ae3750afce348a6c80c new file mode 100644 index 0000000..b9f3ebb Binary files /dev/null and b/test/integration/project/.notgit/objects/a2/f3d9b6cdf0521b0f5d9ae3750afce348a6c80c differ diff --git a/test/integration/project/.notgit/objects/a3/4a66a2f9a4b12bedf98a435344eb974d290d0d b/test/integration/project/.notgit/objects/a3/4a66a2f9a4b12bedf98a435344eb974d290d0d new file mode 100644 index 0000000..345483b Binary files /dev/null and b/test/integration/project/.notgit/objects/a3/4a66a2f9a4b12bedf98a435344eb974d290d0d differ diff --git a/test/integration/project/.notgit/objects/a4/c98b2f5421b5905aa4688a54ab821960fb6ac0 b/test/integration/project/.notgit/objects/a4/c98b2f5421b5905aa4688a54ab821960fb6ac0 new file mode 100644 index 0000000..92107c4 Binary files /dev/null and b/test/integration/project/.notgit/objects/a4/c98b2f5421b5905aa4688a54ab821960fb6ac0 differ diff --git a/test/integration/project/.notgit/objects/a6/a7d79a75b1b57738354a13ae7e381dd77eaf3d b/test/integration/project/.notgit/objects/a6/a7d79a75b1b57738354a13ae7e381dd77eaf3d new file mode 100644 index 0000000..e14baa5 Binary files /dev/null and b/test/integration/project/.notgit/objects/a6/a7d79a75b1b57738354a13ae7e381dd77eaf3d differ diff --git a/test/integration/project/.notgit/objects/a6/e729347dc68aa5f2342548dfc421623b3da926 b/test/integration/project/.notgit/objects/a6/e729347dc68aa5f2342548dfc421623b3da926 new file mode 100644 index 0000000..2fac4aa Binary files /dev/null and b/test/integration/project/.notgit/objects/a6/e729347dc68aa5f2342548dfc421623b3da926 differ diff --git a/test/integration/project/.notgit/objects/a7/8d97398a43fb02ae3ed699011b8a4e288b50ec b/test/integration/project/.notgit/objects/a7/8d97398a43fb02ae3ed699011b8a4e288b50ec new file mode 100644 index 0000000..62d9870 --- /dev/null +++ b/test/integration/project/.notgit/objects/a7/8d97398a43fb02ae3ed699011b8a4e288b50ec @@ -0,0 +1,2 @@ +xeN +!SV"*\,T% Ammq]xt? &|C ^m!s7ߐV R3`5. ryQ4RckVAZfI|=Jd2p7G>2_b6؟8"Bd \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/a7/f219be12e72ed9552cc637de846e1eb3a0e77e b/test/integration/project/.notgit/objects/a7/f219be12e72ed9552cc637de846e1eb3a0e77e new file mode 100644 index 0000000..8bd17cd Binary files /dev/null and b/test/integration/project/.notgit/objects/a7/f219be12e72ed9552cc637de846e1eb3a0e77e differ diff --git a/test/integration/project/.notgit/objects/ab/6847da0d917850e4f9e6a0a581403c6a3cd229 b/test/integration/project/.notgit/objects/ab/6847da0d917850e4f9e6a0a581403c6a3cd229 new file mode 100644 index 0000000..616b0d8 Binary files /dev/null and b/test/integration/project/.notgit/objects/ab/6847da0d917850e4f9e6a0a581403c6a3cd229 differ diff --git a/test/integration/project/.notgit/objects/ac/a00b825d2225b601ca6bccd4bdce0a51751b0a b/test/integration/project/.notgit/objects/ac/a00b825d2225b601ca6bccd4bdce0a51751b0a new file mode 100644 index 0000000..89a15bf --- /dev/null +++ b/test/integration/project/.notgit/objects/ac/a00b825d2225b601ca6bccd4bdce0a51751b0a @@ -0,0 +1,3 @@ +xKj1)>BBjmF2MBn\!zmuveMf)] 9XfcrN$Qk)Qgb*Rz[)6贘Ly좓Vc=Ƅ#V>GO;~Pj-}j(4~U +1j"\t'Ί~gH +_<:gY \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/ac/cb634f67aebc871bfcdbb3dd501af35fc5be78 b/test/integration/project/.notgit/objects/ac/cb634f67aebc871bfcdbb3dd501af35fc5be78 new file mode 100644 index 0000000..94722ae Binary files /dev/null and b/test/integration/project/.notgit/objects/ac/cb634f67aebc871bfcdbb3dd501af35fc5be78 differ diff --git a/test/integration/project/.notgit/objects/ac/f70cb24843aa16b7a6929cbdc96fe408bb8224 b/test/integration/project/.notgit/objects/ac/f70cb24843aa16b7a6929cbdc96fe408bb8224 new file mode 100644 index 0000000..cf34a32 Binary files /dev/null and b/test/integration/project/.notgit/objects/ac/f70cb24843aa16b7a6929cbdc96fe408bb8224 differ diff --git a/test/integration/project/.notgit/objects/af/10f2e0473c3ce3a43a9373bfdc7095c181d872 b/test/integration/project/.notgit/objects/af/10f2e0473c3ce3a43a9373bfdc7095c181d872 new file mode 100644 index 0000000..77ae4d2 Binary files /dev/null and b/test/integration/project/.notgit/objects/af/10f2e0473c3ce3a43a9373bfdc7095c181d872 differ diff --git a/test/integration/project/.notgit/objects/af/b5f9b2654aab85c05560cffe1ee0e0ad73d891 b/test/integration/project/.notgit/objects/af/b5f9b2654aab85c05560cffe1ee0e0ad73d891 new file mode 100644 index 0000000..a6e008d Binary files /dev/null and b/test/integration/project/.notgit/objects/af/b5f9b2654aab85c05560cffe1ee0e0ad73d891 differ diff --git a/test/integration/project/.notgit/objects/af/fab6ea7edd69dbbbcb8d64f659ee56bc4bbdb7 b/test/integration/project/.notgit/objects/af/fab6ea7edd69dbbbcb8d64f659ee56bc4bbdb7 new file mode 100644 index 0000000..3002b0e --- /dev/null +++ b/test/integration/project/.notgit/objects/af/fab6ea7edd69dbbbcb8d64f659ee56bc4bbdb7 @@ -0,0 +1 @@ +x+)JMU03`040031QpH-IM-ILI,IsM*rs.̱b!wf>֓@ \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/b1/2e596b0f04e9b7313d1420a84908ff83fd0544 b/test/integration/project/.notgit/objects/b1/2e596b0f04e9b7313d1420a84908ff83fd0544 new file mode 100644 index 0000000..49b8498 Binary files /dev/null and b/test/integration/project/.notgit/objects/b1/2e596b0f04e9b7313d1420a84908ff83fd0544 differ diff --git a/test/integration/project/.notgit/objects/b2/57166a4682974ebd44a0b514e1faf4a19d31a2 b/test/integration/project/.notgit/objects/b2/57166a4682974ebd44a0b514e1faf4a19d31a2 new file mode 100644 index 0000000..5eb68b9 Binary files /dev/null and b/test/integration/project/.notgit/objects/b2/57166a4682974ebd44a0b514e1faf4a19d31a2 differ diff --git a/test/integration/project/.notgit/objects/b2/b2c6d2b8d160b6e2a1f4106d361f341d99c225 b/test/integration/project/.notgit/objects/b2/b2c6d2b8d160b6e2a1f4106d361f341d99c225 new file mode 100644 index 0000000..a65ecc5 --- /dev/null +++ b/test/integration/project/.notgit/objects/b2/b2c6d2b8d160b6e2a1f4106d361f341d99c225 @@ -0,0 +1 @@ +xu0 DUfbC n{-iPx|wvL.׫;IC uT/JZ*jQ2nҮuV!#OhH1{ n9ǜ)+wh+EycJ:xwZG"`&x4>譕^We=G-h]Q \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/b3/0620f369052ff1adda8c762af5f14ca845f9f7 b/test/integration/project/.notgit/objects/b3/0620f369052ff1adda8c762af5f14ca845f9f7 new file mode 100644 index 0000000..0cb68c5 --- /dev/null +++ b/test/integration/project/.notgit/objects/b3/0620f369052ff1adda8c762af5f14ca845f9f7 @@ -0,0 +1,2 @@ +xUA +0E]!{;Uq!hm&$c7 u]/~1aL|#We%zKF^r+P6=EG>5g;D&NSZa]UjMgH]|Ey#1 S5VTfoUHPAMq5%F[0[5qG}ѡ +(O9>}PR1ۼB4#]K7+1_`{{(l#U<~`MSl ʵbaUճih|jCv26!']Xr"2PCp7^K; :b$Ȼ@Xg.zcJ{2!/,t>7p;y6r \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/c0/35a6c3e73bb3935521a631024a4cf5d0c5a050 b/test/integration/project/.notgit/objects/c0/35a6c3e73bb3935521a631024a4cf5d0c5a050 new file mode 100644 index 0000000..2cf844a --- /dev/null +++ b/test/integration/project/.notgit/objects/c0/35a6c3e73bb3935521a631024a4cf5d0c5a050 @@ -0,0 +1 @@ +xMJ1]#I: "[|㴤I#jQm['ِ Agt)j1׼So6qwIyh]`"gȒn{S|z罭A/o­7HGGkxѺtAkuszraw2/]W \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/c0/8edba3c6fa82c4f528a11c840987aa81a822b1 b/test/integration/project/.notgit/objects/c0/8edba3c6fa82c4f528a11c840987aa81a822b1 new file mode 100644 index 0000000..c74ca33 Binary files /dev/null and b/test/integration/project/.notgit/objects/c0/8edba3c6fa82c4f528a11c840987aa81a822b1 differ diff --git a/test/integration/project/.notgit/objects/c1/c94fde73cdfff1a47e0fe7162bdc06137b2559 b/test/integration/project/.notgit/objects/c1/c94fde73cdfff1a47e0fe7162bdc06137b2559 new file mode 100644 index 0000000..59e6018 --- /dev/null +++ b/test/integration/project/.notgit/objects/c1/c94fde73cdfff1a47e0fe7162bdc06137b2559 @@ -0,0 +1,2 @@ +xKj0 @)t#9R +-,wNSL^>SIVA֫_U \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/c3/c9834f1b03faa6d07a078575b5d4aaa82a6b13 b/test/integration/project/.notgit/objects/c3/c9834f1b03faa6d07a078575b5d4aaa82a6b13 new file mode 100644 index 0000000..a1152f2 Binary files /dev/null and b/test/integration/project/.notgit/objects/c3/c9834f1b03faa6d07a078575b5d4aaa82a6b13 differ diff --git a/test/integration/project/.notgit/objects/c3/f5d2f2d307e73eebba5b8016e7bfb2bf7d22d4 b/test/integration/project/.notgit/objects/c3/f5d2f2d307e73eebba5b8016e7bfb2bf7d22d4 new file mode 100644 index 0000000..eab78bf Binary files /dev/null and b/test/integration/project/.notgit/objects/c3/f5d2f2d307e73eebba5b8016e7bfb2bf7d22d4 differ diff --git a/test/integration/project/.notgit/objects/c5/8425d428794729c95f97a57c294682a75b6fc1 b/test/integration/project/.notgit/objects/c5/8425d428794729c95f97a57c294682a75b6fc1 new file mode 100644 index 0000000..47a6dfb Binary files /dev/null and b/test/integration/project/.notgit/objects/c5/8425d428794729c95f97a57c294682a75b6fc1 differ diff --git a/test/integration/project/.notgit/objects/c6/e9e6c5f79f0ea280446a3c285c840a3c147923 b/test/integration/project/.notgit/objects/c6/e9e6c5f79f0ea280446a3c285c840a3c147923 new file mode 100644 index 0000000..3735507 Binary files /dev/null and b/test/integration/project/.notgit/objects/c6/e9e6c5f79f0ea280446a3c285c840a3c147923 differ diff --git a/test/integration/project/.notgit/objects/c7/1670b6ba12c6bed7443136f0e1ce4b2cf594a2 b/test/integration/project/.notgit/objects/c7/1670b6ba12c6bed7443136f0e1ce4b2cf594a2 new file mode 100644 index 0000000..225f212 --- /dev/null +++ b/test/integration/project/.notgit/objects/c7/1670b6ba12c6bed7443136f0e1ce4b2cf594a2 @@ -0,0 +1,2 @@ +xm0Eƨ)e0:ithK՚WJh!' +"r;Et W9]Si_8B$|߆EdPW xYmRd(K% Q*KW!0ƶx x:hG\[VsT q| ]RV \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/cc/460dc03401223db47d218f3c5122841afefe03 b/test/integration/project/.notgit/objects/cc/460dc03401223db47d218f3c5122841afefe03 new file mode 100644 index 0000000..7a431e5 Binary files /dev/null and b/test/integration/project/.notgit/objects/cc/460dc03401223db47d218f3c5122841afefe03 differ diff --git a/test/integration/project/.notgit/objects/cc/c8e6a11924f9a1381944da0de3de0cacf2ae94 b/test/integration/project/.notgit/objects/cc/c8e6a11924f9a1381944da0de3de0cacf2ae94 new file mode 100644 index 0000000..c0d4218 Binary files /dev/null and b/test/integration/project/.notgit/objects/cc/c8e6a11924f9a1381944da0de3de0cacf2ae94 differ diff --git a/test/integration/project/.notgit/objects/cd/395c7dca796777c65e6fb89b12f25d9b4a5635 b/test/integration/project/.notgit/objects/cd/395c7dca796777c65e6fb89b12f25d9b4a5635 new file mode 100644 index 0000000..229a65a Binary files /dev/null and b/test/integration/project/.notgit/objects/cd/395c7dca796777c65e6fb89b12f25d9b4a5635 differ diff --git a/test/integration/project/.notgit/objects/cd/a750d55511ef376739f2aa0f0b2c78472b75ce b/test/integration/project/.notgit/objects/cd/a750d55511ef376739f2aa0f0b2c78472b75ce new file mode 100644 index 0000000..b20dc47 Binary files /dev/null and b/test/integration/project/.notgit/objects/cd/a750d55511ef376739f2aa0f0b2c78472b75ce differ diff --git a/test/integration/project/.notgit/objects/ce/2bea837cd3fea9039c9babeda159303c9c677a b/test/integration/project/.notgit/objects/ce/2bea837cd3fea9039c9babeda159303c9c677a new file mode 100644 index 0000000..814db09 Binary files /dev/null and b/test/integration/project/.notgit/objects/ce/2bea837cd3fea9039c9babeda159303c9c677a differ diff --git a/test/integration/project/.notgit/objects/ce/43323e57c635b3669313cc428f31656b19251e b/test/integration/project/.notgit/objects/ce/43323e57c635b3669313cc428f31656b19251e new file mode 100644 index 0000000..cfc6557 Binary files /dev/null and b/test/integration/project/.notgit/objects/ce/43323e57c635b3669313cc428f31656b19251e differ diff --git a/test/integration/project/.notgit/objects/ce/4d79ea01275d323146bf4dcf4f2724ce67a6cc b/test/integration/project/.notgit/objects/ce/4d79ea01275d323146bf4dcf4f2724ce67a6cc new file mode 100644 index 0000000..8754df3 Binary files /dev/null and b/test/integration/project/.notgit/objects/ce/4d79ea01275d323146bf4dcf4f2724ce67a6cc differ diff --git a/test/integration/project/.notgit/objects/ce/7f9cab05b5d3bbd192d0e43ce2e557dd3f63d1 b/test/integration/project/.notgit/objects/ce/7f9cab05b5d3bbd192d0e43ce2e557dd3f63d1 new file mode 100644 index 0000000..7483e87 --- /dev/null +++ b/test/integration/project/.notgit/objects/ce/7f9cab05b5d3bbd192d0e43ce2e557dd3f63d1 @@ -0,0 +1,2 @@ +xe +![9(VLϔeP'.9}`6-( זO|:In%ޢ3&Bn٭q <ĤCm]_Ǣ*IB09wTNv,uP~L%)}ֽrq"$oEH \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/ce/b9298e30b0a908c9209f09daf9d2993c97fc0a b/test/integration/project/.notgit/objects/ce/b9298e30b0a908c9209f09daf9d2993c97fc0a new file mode 100644 index 0000000..f5e1026 --- /dev/null +++ b/test/integration/project/.notgit/objects/ce/b9298e30b0a908c9209f09daf9d2993c97fc0a @@ -0,0 +1,5 @@ +xUn0 9_a(+ilv;2h%C+G*+`G> +edrz?U*٢uias#]A1d?RogkekP گ%LC3䃮PSWWל%ڄwU `٫P@ ™ߌ[I/_1Qg6@=b1oX*(&}K)P;o ] 6zG0&Vl%XJ-#Pyf>y + +TXmDUF +z+kXPˣ,F$|ӅVMO|P[.B*I[S()8ggggE \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/cf/14086e122e7c8823d4fec25a56670160f921d9 b/test/integration/project/.notgit/objects/cf/14086e122e7c8823d4fec25a56670160f921d9 new file mode 100644 index 0000000..6afbe50 Binary files /dev/null and b/test/integration/project/.notgit/objects/cf/14086e122e7c8823d4fec25a56670160f921d9 differ diff --git a/test/integration/project/.notgit/objects/d0/9c3a06981f6c4edbd7d271830e05c930398bef b/test/integration/project/.notgit/objects/d0/9c3a06981f6c4edbd7d271830e05c930398bef new file mode 100644 index 0000000..9bffefa Binary files /dev/null and b/test/integration/project/.notgit/objects/d0/9c3a06981f6c4edbd7d271830e05c930398bef differ diff --git a/test/integration/project/.notgit/objects/d1/efb00aba9c3ebfbd4a132a3d823d6c2e45ad7b b/test/integration/project/.notgit/objects/d1/efb00aba9c3ebfbd4a132a3d823d6c2e45ad7b new file mode 100644 index 0000000..9011aa1 Binary files /dev/null and b/test/integration/project/.notgit/objects/d1/efb00aba9c3ebfbd4a132a3d823d6c2e45ad7b differ diff --git a/test/integration/project/.notgit/objects/d1/f7e51df62ce5483e21d10594db383e16359704 b/test/integration/project/.notgit/objects/d1/f7e51df62ce5483e21d10594db383e16359704 new file mode 100644 index 0000000..c81111f Binary files /dev/null and b/test/integration/project/.notgit/objects/d1/f7e51df62ce5483e21d10594db383e16359704 differ diff --git a/test/integration/project/.notgit/objects/d3/52023dbcfb7627bb2693c5b7be492bff145556 b/test/integration/project/.notgit/objects/d3/52023dbcfb7627bb2693c5b7be492bff145556 new file mode 100644 index 0000000..2a2ad6c Binary files /dev/null and b/test/integration/project/.notgit/objects/d3/52023dbcfb7627bb2693c5b7be492bff145556 differ diff --git a/test/integration/project/.notgit/objects/d5/bb4c7016cb5110f0875ae5ee3f1b0a86a37c3f b/test/integration/project/.notgit/objects/d5/bb4c7016cb5110f0875ae5ee3f1b0a86a37c3f new file mode 100644 index 0000000..79b3d07 Binary files /dev/null and b/test/integration/project/.notgit/objects/d5/bb4c7016cb5110f0875ae5ee3f1b0a86a37c3f differ diff --git a/test/integration/project/.notgit/objects/db/be22529d0aaf7a34bea7c720c5341895fbc7d2 b/test/integration/project/.notgit/objects/db/be22529d0aaf7a34bea7c720c5341895fbc7d2 new file mode 100644 index 0000000..baf4316 --- /dev/null +++ b/test/integration/project/.notgit/objects/db/be22529d0aaf7a34bea7c720c5341895fbc7d2 @@ -0,0 +1,4 @@ +xeA +0P=Eަ"iŕb:$ST("8y1rkt%]%6]Kz>V"Ӑp5ceB,[l, HHގQ +G8 +g UW4;/h> Zu&^kϻ"yN \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/df/20f12b7fd71065f016ce113ba95c10db00ae8a b/test/integration/project/.notgit/objects/df/20f12b7fd71065f016ce113ba95c10db00ae8a new file mode 100644 index 0000000..6b7f2a8 Binary files /dev/null and b/test/integration/project/.notgit/objects/df/20f12b7fd71065f016ce113ba95c10db00ae8a differ diff --git a/test/integration/project/.notgit/objects/df/73a48df4043d93510de65533334a8e476cb049 b/test/integration/project/.notgit/objects/df/73a48df4043d93510de65533334a8e476cb049 new file mode 100644 index 0000000..b3c4847 --- /dev/null +++ b/test/integration/project/.notgit/objects/df/73a48df4043d93510de65533334a8e476cb049 @@ -0,0 +1,2 @@ +xe +0D=+B6 ы~@l4$FݝJcE|5ᛇηtf@_jkA/rH}Ao!5cM}F,[l dT$$7Gi@,8gM'P6>uhld^&짯HN \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/e0/08d2354788123bc78bf9ee873417b75fbbdd51 b/test/integration/project/.notgit/objects/e0/08d2354788123bc78bf9ee873417b75fbbdd51 new file mode 100644 index 0000000..07fd15f --- /dev/null +++ b/test/integration/project/.notgit/objects/e0/08d2354788123bc78bf9ee873417b75fbbdd51 @@ -0,0 +1,2 @@ +xeK +0]!{XB,F4GIR ,ga%Vy9 & ^[Mv#@0\kxiT{X$BGK*ʶA̒q=YI\naH~T`8e5BK?qsL7]G \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/e0/3377ae0bf1bc9f391e4f7ce46a8cdb5fa2dcff b/test/integration/project/.notgit/objects/e0/3377ae0bf1bc9f391e4f7ce46a8cdb5fa2dcff new file mode 100644 index 0000000..d601149 Binary files /dev/null and b/test/integration/project/.notgit/objects/e0/3377ae0bf1bc9f391e4f7ce46a8cdb5fa2dcff differ diff --git a/test/integration/project/.notgit/objects/e0/a88fb4150ae43a190ddbc5b71329495b13707c b/test/integration/project/.notgit/objects/e0/a88fb4150ae43a190ddbc5b71329495b13707c new file mode 100644 index 0000000..61649a6 --- /dev/null +++ b/test/integration/project/.notgit/objects/e0/a88fb4150ae43a190ddbc5b71329495b13707c @@ -0,0 +1,3 @@ +xKj1 @)te J)t[( xa +Yx<LX +]iD-5U!^k37uPjt&6ǚi X%5Hhc^WpC%;qTs~N2Op)Hw֚}LO}QS+1EXD \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/e2/4fabd1993fedab7c1e1cf15aa9994a4ae4f03f b/test/integration/project/.notgit/objects/e2/4fabd1993fedab7c1e1cf15aa9994a4ae4f03f new file mode 100644 index 0000000..539fb41 --- /dev/null +++ b/test/integration/project/.notgit/objects/e2/4fabd1993fedab7c1e1cf15aa9994a4ae4f03f @@ -0,0 +1,2 @@ +xU; 0;W +BH:whݯz!ɍ~SОGc)ߩrp#Bd2]KB<(Jzy](svg t\Le 24([S쬫Of$첓^bP.9@o]IA \ No newline at end of file diff --git a/test/integration/project/.notgit/objects/f3/fcaf3a94c144229330356914cca49033c2cb50 b/test/integration/project/.notgit/objects/f3/fcaf3a94c144229330356914cca49033c2cb50 new file mode 100644 index 0000000..ec57d18 Binary files /dev/null and b/test/integration/project/.notgit/objects/f3/fcaf3a94c144229330356914cca49033c2cb50 differ diff --git a/test/integration/project/.notgit/objects/f4/0757680196d14d18cf8a5e38196ade19aa8565 b/test/integration/project/.notgit/objects/f4/0757680196d14d18cf8a5e38196ade19aa8565 new file mode 100644 index 0000000..a48f610 Binary files /dev/null and b/test/integration/project/.notgit/objects/f4/0757680196d14d18cf8a5e38196ade19aa8565 differ diff --git a/test/integration/project/.notgit/objects/f5/6480ad8cf04c9eb49b866c681de04e82ad0bd9 b/test/integration/project/.notgit/objects/f5/6480ad8cf04c9eb49b866c681de04e82ad0bd9 new file mode 100644 index 0000000..cfe68a9 Binary files /dev/null and b/test/integration/project/.notgit/objects/f5/6480ad8cf04c9eb49b866c681de04e82ad0bd9 differ diff --git a/test/integration/project/.notgit/objects/f6/0e38516a4eb00d7ff296fe46411fa269e71ac0 b/test/integration/project/.notgit/objects/f6/0e38516a4eb00d7ff296fe46411fa269e71ac0 new file mode 100644 index 0000000..a207712 Binary files /dev/null and b/test/integration/project/.notgit/objects/f6/0e38516a4eb00d7ff296fe46411fa269e71ac0 differ diff --git a/test/integration/project/.notgit/objects/fa/a0197e10ebf0a6dabf2f60d492daa1819007aa b/test/integration/project/.notgit/objects/fa/a0197e10ebf0a6dabf2f60d492daa1819007aa new file mode 100644 index 0000000..1e478e7 Binary files /dev/null and b/test/integration/project/.notgit/objects/fa/a0197e10ebf0a6dabf2f60d492daa1819007aa differ diff --git a/test/integration/project/.notgit/objects/fb/df5b47067e9f37bccfe280cfd399c08ae15a41 b/test/integration/project/.notgit/objects/fb/df5b47067e9f37bccfe280cfd399c08ae15a41 new file mode 100644 index 0000000..bfd06cb Binary files /dev/null and b/test/integration/project/.notgit/objects/fb/df5b47067e9f37bccfe280cfd399c08ae15a41 differ diff --git a/test/integration/project/.notgit/objects/fb/f4a29666ecb4477b088707bbe3924e6b23e620 b/test/integration/project/.notgit/objects/fb/f4a29666ecb4477b088707bbe3924e6b23e620 new file mode 100644 index 0000000..8e05785 Binary files /dev/null and b/test/integration/project/.notgit/objects/fb/f4a29666ecb4477b088707bbe3924e6b23e620 differ diff --git a/test/integration/project/.notgit/objects/fd/91295aaac40561f09aaf59396003ce262b596c b/test/integration/project/.notgit/objects/fd/91295aaac40561f09aaf59396003ce262b596c new file mode 100644 index 0000000..5ca0fa2 Binary files /dev/null and b/test/integration/project/.notgit/objects/fd/91295aaac40561f09aaf59396003ce262b596c differ diff --git a/test/integration/project/.notgit/objects/fd/e83e9acc8ab7bc9faeb884c948554ce8e8d668 b/test/integration/project/.notgit/objects/fd/e83e9acc8ab7bc9faeb884c948554ce8e8d668 new file mode 100644 index 0000000..8a1e7e1 Binary files /dev/null and b/test/integration/project/.notgit/objects/fd/e83e9acc8ab7bc9faeb884c948554ce8e8d668 differ diff --git a/test/integration/project/.notgit/objects/fe/a1ecbf796f51c93fce3b80c8688190e7dab9a1 b/test/integration/project/.notgit/objects/fe/a1ecbf796f51c93fce3b80c8688190e7dab9a1 new file mode 100644 index 0000000..b655884 Binary files /dev/null and b/test/integration/project/.notgit/objects/fe/a1ecbf796f51c93fce3b80c8688190e7dab9a1 differ diff --git a/test/integration/project/.notgit/refs/heads/add_class b/test/integration/project/.notgit/refs/heads/add_class new file mode 100644 index 0000000..22ef6d8 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/add_class @@ -0,0 +1 @@ +5a3cbf0fab4e6fe1fd0a512830f9bf2b8cea23cb diff --git a/test/integration/project/.notgit/refs/heads/add_field b/test/integration/project/.notgit/refs/heads/add_field new file mode 100644 index 0000000..60103f8 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/add_field @@ -0,0 +1 @@ +c1c94fde73cdfff1a47e0fe7162bdc06137b2559 diff --git a/test/integration/project/.notgit/refs/heads/add_object b/test/integration/project/.notgit/refs/heads/add_object new file mode 100644 index 0000000..5cc4507 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/add_object @@ -0,0 +1 @@ +a0a46a9f8fd191238537bd26d28b7a035f90b77f diff --git a/test/integration/project/.notgit/refs/heads/add_static_resource b/test/integration/project/.notgit/refs/heads/add_static_resource new file mode 100644 index 0000000..ea1c9e7 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/add_static_resource @@ -0,0 +1 @@ +35a9ec2d9c608f949a4b7acb27f48102d55cc4c4 diff --git a/test/integration/project/.notgit/refs/heads/del_class b/test/integration/project/.notgit/refs/heads/del_class new file mode 100644 index 0000000..ae3cc8a --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/del_class @@ -0,0 +1 @@ +3e9ae7f54c4954c400dbf2b3b59c8d6b6b95b552 diff --git a/test/integration/project/.notgit/refs/heads/del_field b/test/integration/project/.notgit/refs/heads/del_field new file mode 100644 index 0000000..5d3bbef --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/del_field @@ -0,0 +1 @@ +6ca28dc0d4a530a2805465e4220c6973702acfe0 diff --git a/test/integration/project/.notgit/refs/heads/del_object b/test/integration/project/.notgit/refs/heads/del_object new file mode 100644 index 0000000..1b06031 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/del_object @@ -0,0 +1 @@ +c035a6c3e73bb3935521a631024a4cf5d0c5a050 diff --git a/test/integration/project/.notgit/refs/heads/del_single_file_from_folder b/test/integration/project/.notgit/refs/heads/del_single_file_from_folder new file mode 100644 index 0000000..52afc0f --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/del_single_file_from_folder @@ -0,0 +1 @@ +30d3d6de84f92e87588340070a04fa5b37050a63 diff --git a/test/integration/project/.notgit/refs/heads/del_static_resource b/test/integration/project/.notgit/refs/heads/del_static_resource new file mode 100644 index 0000000..0d8c980 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/del_static_resource @@ -0,0 +1 @@ +f338dc01b565c816e8faa8d5e8dbe7be9334f390 diff --git a/test/integration/project/.notgit/refs/heads/master b/test/integration/project/.notgit/refs/heads/master new file mode 100644 index 0000000..8c7167c --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/master @@ -0,0 +1 @@ +8d411d5e0074d561e39cc35aec38f7e755e69604 diff --git a/test/integration/project/.notgit/refs/heads/mod_class b/test/integration/project/.notgit/refs/heads/mod_class new file mode 100644 index 0000000..13093c6 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/mod_class @@ -0,0 +1 @@ +cc460dc03401223db47d218f3c5122841afefe03 diff --git a/test/integration/project/.notgit/refs/heads/mod_class_meta b/test/integration/project/.notgit/refs/heads/mod_class_meta new file mode 100644 index 0000000..55cd3bd --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/mod_class_meta @@ -0,0 +1 @@ +aca00b825d2225b601ca6bccd4bdce0a51751b0a diff --git a/test/integration/project/.notgit/refs/heads/mod_field b/test/integration/project/.notgit/refs/heads/mod_field new file mode 100644 index 0000000..79286a8 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/mod_field @@ -0,0 +1 @@ +1819d59ff8bfd0f16dec35644b84a3159402282b diff --git a/test/integration/project/.notgit/refs/heads/mod_object b/test/integration/project/.notgit/refs/heads/mod_object new file mode 100644 index 0000000..54b7499 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/mod_object @@ -0,0 +1 @@ +e0a88fb4150ae43a190ddbc5b71329495b13707c diff --git a/test/integration/project/.notgit/refs/heads/mod_partially_delete_static_resource b/test/integration/project/.notgit/refs/heads/mod_partially_delete_static_resource new file mode 100644 index 0000000..0668dd7 --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/mod_partially_delete_static_resource @@ -0,0 +1 @@ +0aac988ce70a244636e3e41069044cbed95aca04 diff --git a/test/integration/project/.notgit/refs/heads/mod_static_resource b/test/integration/project/.notgit/refs/heads/mod_static_resource new file mode 100644 index 0000000..b5d389c --- /dev/null +++ b/test/integration/project/.notgit/refs/heads/mod_static_resource @@ -0,0 +1 @@ +38268f39bdb0bf6fd484f3e8e0087220867fa9b5 diff --git a/test/integration/project/.notgit/sourcetreeconfig b/test/integration/project/.notgit/sourcetreeconfig new file mode 100644 index 0000000..2f836d3 --- /dev/null +++ b/test/integration/project/.notgit/sourcetreeconfig @@ -0,0 +1,8 @@ +autorefresh=1 +savedIncoming=0 +lastUsedView=1 +savedOutgoing=0 +showBuildStatus=1 +disablerecursiveoperations=0 +lastCheckedRemotes=2019-10-31 05:46:09 +0000 +autorefreshremotes=1 diff --git a/test/integration/util.ts b/test/integration/util.ts new file mode 100644 index 0000000..5c6c5f0 --- /dev/null +++ b/test/integration/util.ts @@ -0,0 +1,33 @@ +import { exec, ExecException } from 'child_process'; +import * as fs from 'fs'; + +export async function myExec(cmd: string, cwd: string): Promise<{ err: ExecException | null, stdout: string, stderr: string }> { + return new Promise((resolve, reject) => { + setTimeout(() => reject('Timeout!'), 20000); + exec(cmd, { cwd }, (err, stdout, stderr) => { + resolve({ err, stdout, stderr }); + }); + }); +} + +export const integrationPath = 'test/integration'; +export const projectPath = `${integrationPath}/project`; +export const deployPath = `${projectPath}/deploy`; +export const expectedOutputPath = `${integrationPath}/output`; + +export async function getIntegBranches() { + setGitENV(); + const res = await myExec('git branch --list', projectPath); + return res.stdout.split(/\s+/).filter(branch => { + return !['master', '*', ''].includes(branch); + }); +} + +export function setGitENV() { + if (fs.existsSync(`${projectPath}/.git`)) { + process.env.GIT_DIR = '.git'; + } else { + process.env.GIT_DIR = '.notgit'; + } + process.env.GIT_WORK_TREE = '.'; +}