Mercurial > hgsubversion
annotate tests/fixtures/file_not_in_trunk_root.sh @ 922:6b7ac659c855
updatemeta: correctly handle empty metadata
When the repo metadata is empty (just created/cloned but not populated yet),
there is no lastpulled file or the revmap doesn't have a last entry with hash.
Currently "hg svn updatemeta" would crash due to unexpected exception.
See issue reported at https://bitbucket.org/durin42/hgsubversion/issue/356/updatemeta-crashes-with-traceback-if-there
The fix is to check the existence of lastpulled file and the hash entry in
revmap, as part of "hg svn updatemeta" command. When they are not present,
do a rebuildmetadata.
Also added a new unit test, test_updatemeta.py.
| author | Jun Fang <junfang@fb.com> |
|---|---|
| date | Mon, 06 Aug 2012 10:35:51 -0700 |
| parents | b20a6c149021 |
| children |
| rev | line source |
|---|---|
|
207
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
2 mkdir temp |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
3 cd temp |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
4 svnadmin create repo |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
5 svn co file://`pwd`/repo wc |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
6 cd wc |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
7 mkdir branches trunk tags |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
8 svn add * |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
9 svn ci -m 'btt' |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
10 cd trunk |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
11 mkdir narf |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
12 cd narf |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
13 for a in alpha beta gamma delta ; do |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
14 echo $a > $a |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
15 done |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
16 cd .. |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
17 svn add narf |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
18 svn ci -m 'Add files.' |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
19 cd ../../.. |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
20 svnadmin dump temp/repo > file_not_in_trunk_root.svndump |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
21 echo |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
22 echo 'Complete.' |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
23 echo 'You probably want to clean up temp now.' |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
24 echo 'Dump in file_not_in_trunk_root.svndump' |
|
b20a6c149021
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
25 exit 0 |
