##// END OF EJS Templates
Merge with crew-stable
Alexis S. L. Carvalho -
r5336:24de0275 merge default
parent child Browse files
Show More
@@ -56,9 +56,14 b' class convert_git(converter_source):'
56 56 self.modecache = {}
57 57 fh = self.gitcmd("git-diff-tree --root -m -r %s" % version)
58 58 changes = []
59 seen = {}
59 60 for l in fh:
60 if "\t" not in l: continue
61 if "\t" not in l:
62 continue
61 63 m, f = l[:-1].split("\t")
64 if f in seen:
65 continue
66 seen[f] = 1
62 67 m = m.split()
63 68 h = m[3]
64 69 p = (m[1] == "100755")
@@ -1638,6 +1638,9 b' def refresh(ui, repo, *pats, **opts):'
1638 1638 q = repo.mq
1639 1639 message = cmdutil.logmessage(opts)
1640 1640 if opts['edit']:
1641 if not q.applied:
1642 ui.write(_("No patches applied\n"))
1643 return 1
1641 1644 if message:
1642 1645 raise util.Abort(_('option "-e" incompatible with "-m" or "-l"'))
1643 1646 patch = q.applied[-1].name
@@ -598,9 +598,12 b' def docopy(ui, repo, pats, opts):'
598 598 raise util.Abort(_('no destination specified'))
599 599 dest = pats.pop()
600 600 destdirexists = os.path.isdir(dest)
601 if (len(pats) > 1 or util.patkind(pats[0], None)[0]) and not destdirexists:
601 if not destdirexists:
602 if len(pats) > 1 or util.patkind(pats[0], None)[0]:
602 603 raise util.Abort(_('with multiple sources, destination must be an '
603 604 'existing directory'))
605 if dest.endswith(os.sep) or os.altsep and dest.endswith(os.altsep):
606 raise util.Abort(_('destination %s is not a directory') % dest)
604 607 if opts['after']:
605 608 tfn = targetpathafterfn
606 609 else:
@@ -1470,6 +1473,10 b' def identify(ui, repo, source=None,'
1470 1473 name for non-default branches.
1471 1474 """
1472 1475
1476 if not repo and not source:
1477 raise util.Abort(_("There is no Mercurial repository here "
1478 "(.hg not found)"))
1479
1473 1480 hexfunc = ui.debugflag and hex or short
1474 1481 default = not (num or id or branch or tags)
1475 1482 output = []
@@ -3153,4 +3160,4 b' table = {'
3153 3160
3154 3161 norepo = ("clone init version help debugancestor debugcomplete debugdata"
3155 3162 " debugindex debugindexdot debugdate debuginstall")
3156 optionalrepo = ("paths serve showconfig")
3163 optionalrepo = ("identify paths serve showconfig")
@@ -141,7 +141,10 b' class hgweb(object):'
141 141 def nodebranchdict(self, ctx):
142 142 branches = []
143 143 branch = ctx.branch()
144 if self.repo.branchtags()[branch] == ctx.node():
144 # If this is an empty repo, ctx.node() == nullid,
145 # ctx.branch() == 'default', but branchtags() is
146 # an empty dict. Using dict.get avoids a traceback.
147 if self.repo.branchtags().get(branch) == ctx.node():
145 148 branches.append({"name": branch})
146 149 return branches
147 150
@@ -146,8 +146,9 b' class hgwebdir(object):'
146 146 u = ui.ui(parentui=parentui)
147 147 try:
148 148 u.readconfig(os.path.join(path, '.hg', 'hgrc'))
149 except IOError:
150 pass
149 except Exception, e:
150 u.warn(_('error reading %s/.hg/hgrc: %s\n' % (path, e)))
151 continue
151 152 def get(section, name, default=None):
152 153 return u.config(section, name, default, untrusted=True)
153 154
@@ -298,8 +298,7 b' class httprepository(remoterepository):'
298 298 cu = "%s%s" % (self._url, qs)
299 299 try:
300 300 if data:
301 self.ui.debug(_("sending %s bytes\n") %
302 headers.get('content-length', 'X'))
301 self.ui.debug(_("sending %s bytes\n") % len(data))
303 302 resp = urllib2.urlopen(request(cu, data, headers))
304 303 except urllib2.HTTPError, inst:
305 304 if inst.code == 401:
@@ -5,15 +5,42 b''
5 5 echo "[extensions]" >> $HGRCPATH
6 6 echo "convert=" >> $HGRCPATH
7 7
8 GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
9 GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
10 GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE
11 GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
12 GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
13 GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
14
15 count=10
16 commit()
17 {
18 GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000"
19 GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
20 git commit "$@" >/dev/null 2>/dev/null || echo "git commit error"
21 count=`expr $count + 1`
22 }
23
8 24 mkdir git-repo
9 25 cd git-repo
10 26 git init-db >/dev/null 2>/dev/null
11 27 echo a > a
12 28 git add a
13 git commit -m t1 >/dev/null 2>/dev/null || echo "git commit error"
29 commit -m t1
30
14 31 echo b >> a
15 git commit -a -m t2 >/dev/null || echo "git commit error"
32 commit -a -m t2.1
33
34 git checkout -b other HEAD^ >/dev/null 2>/dev/null
35 echo c > a
36 echo a >> a
37 commit -a -m t2.2
38
39 git checkout master >/dev/null 2>/dev/null
40 git pull --no-commit . other > /dev/null 2>/dev/null
41 commit -m 'Merge branch other'
16 42 cd ..
17 43
18 hg convert git-repo
44 hg convert --datesort git-repo
19 45
46 hg -R git-repo-hg tip -v
@@ -3,5 +3,20 b' initializing destination git-repo-hg rep'
3 3 scanning source...
4 4 sorting...
5 5 converting...
6 1 t1
7 0 t2
6 3 t1
7 2 t2.1
8 1 t2.2
9 0 Merge branch other
10 changeset: 3:69b3a302b4a1
11 tag: tip
12 parent: 1:0de2a40e261b
13 parent: 2:8815d3b33506
14 user: test <test@example.org>
15 date: Mon Jan 01 00:00:13 2007 +0000
16 files: a
17 description:
18 Merge branch other
19
20 committer: test <test@example.org>
21
22
@@ -8,6 +8,11 b' echo "mq=" >> $HGRCPATH'
8 8 hg init
9 9 hg qinit
10 10
11 echo =======================
12 echo "Should fail if no patches applied"
13 hg qrefresh
14 hg qrefresh -e
15
11 16 hg qnew -m "First commit message" first-patch
12 17 echo aaaa > file
13 18 hg add file
@@ -1,3 +1,7 b''
1 =======================
2 Should fail if no patches applied
3 No patches applied
4 No patches applied
1 5 =======================
2 6 Should display 'First commit message'
3 7 description:
@@ -88,6 +88,11 b' hg status -C'
88 88 diff d1/b d2/b
89 89 hg update -C
90 90
91 echo "# attempt to move one file into a non-existent directory"
92 hg rename d1/a dx/
93 hg status -C
94 hg update -C
95
91 96 echo "# attempt to move potentially more than one file into a non-existent"
92 97 echo "# directory"
93 98 hg rename 'glob:d1/**' dx
@@ -166,6 +166,9 b' 1c1'
166 166 ---
167 167 > d2/b
168 168 3 files updated, 0 files merged, 3 files removed, 0 files unresolved
169 # attempt to move one file into a non-existent directory
170 abort: destination dx/ is not a directory
171 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
169 172 # attempt to move potentially more than one file into a non-existent
170 173 # directory
171 174 abort: with multiple sources, destination must be an existing directory
General Comments 0
You need to be logged in to leave comments. Login now