summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcontrib/remote-helpers/git-remote-bzr6
-rwxr-xr-xcontrib/remote-helpers/git-remote-hg1
-rwxr-xr-xcontrib/remote-helpers/test-bzr.sh26
-rwxr-xr-xcontrib/remote-helpers/test-hg-bidi.sh3
-rwxr-xr-xcontrib/remote-helpers/test-hg-hg-git.sh3
5 files changed, 34 insertions, 5 deletions
diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr
index 5f4b2e3e16..9abb58e6ab 100755
--- a/contrib/remote-helpers/git-remote-bzr
+++ b/contrib/remote-helpers/git-remote-bzr
@@ -618,10 +618,12 @@ def parse_commit(parser):
files[path] = f
committer, date, tz = committer
+ author, _, _ = author
parents = [mark_to_rev(p) for p in parents]
revid = bzrlib.generate_ids.gen_revision_id(committer, date)
props = {}
props['branch-nick'] = branch.nick
+ props['authors'] = author
mtree = CustomTree(branch, revid, parents, files)
changes = mtree.iter_changes()
@@ -784,7 +786,7 @@ def clone(path, remote_branch):
def get_remote_branch(name):
remote_branch = bzrlib.branch.Branch.open(branches[name],
possible_transports=transports)
- if isinstance(remote_branch.user_transport, bzrlib.transport.local.LocalTransport):
+ if isinstance(remote_branch.bzrdir.root_transport, bzrlib.transport.local.LocalTransport):
return remote_branch
branch_path = os.path.join(dirname, 'clone', name)
@@ -867,7 +869,7 @@ def get_repo(url, alias):
if not wanted:
try:
repo = origin.open_repository()
- if not repo.user_transport.listable():
+ if not repo.bzrdir.root_transport.listable():
# this repository is not usable for us
raise bzrlib.errors.NoRepositoryPresent(repo.bzrdir)
except bzrlib.errors.NoRepositoryPresent:
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index 36b526106b..34cda02759 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -260,6 +260,7 @@ class Parser:
return (user, int(date), -tz)
def fix_file_path(path):
+ path = os.path.normpath(path)
if not os.path.isabs(path):
return path
return os.path.relpath(path, '/')
diff --git a/contrib/remote-helpers/test-bzr.sh b/contrib/remote-helpers/test-bzr.sh
index 4f379c2ab4..a4656ce412 100755
--- a/contrib/remote-helpers/test-bzr.sh
+++ b/contrib/remote-helpers/test-bzr.sh
@@ -382,7 +382,7 @@ test_expect_success 'strip' '
'
test_expect_success 'export utf-8 authors' '
- test_when_finished "rm -rf bzrrepo gitrepo && LC_ALL=C && unset GIT_COMMITTER_NAME" &&
+ test_when_finished "rm -rf bzrrepo gitrepo && LC_ALL=C && GIT_COMMITTER_NAME=\"C O Mitter\""
LC_ALL=en_US.UTF-8
export LC_ALL
@@ -411,4 +411,28 @@ test_expect_success 'export utf-8 authors' '
test_cmp expected actual
'
+test_expect_success 'push different author' '
+ test_when_finished "rm -rf bzrrepo gitrepo" &&
+
+ bzr init bzrrepo &&
+
+ (
+ git init gitrepo &&
+ cd gitrepo &&
+ echo john >> content &&
+ git add content &&
+ git commit -m john --author "John Doe <jdoe@example.com>" &&
+ git remote add bzr "bzr::../bzrrepo" &&
+ git push bzr master
+ ) &&
+
+ (
+ cd bzrrepo &&
+ bzr log | grep "^author: " > ../actual
+ ) &&
+
+ echo "author: John Doe <jdoe@example.com>" > expected &&
+ test_cmp expected actual
+'
+
test_done
diff --git a/contrib/remote-helpers/test-hg-bidi.sh b/contrib/remote-helpers/test-hg-bidi.sh
index e24c51daad..d86e147d3d 100755
--- a/contrib/remote-helpers/test-hg-bidi.sh
+++ b/contrib/remote-helpers/test-hg-bidi.sh
@@ -8,7 +8,8 @@
test_description='Test bidirectionality of remote-hg'
-. ./test-lib.sh
+test -n "$TEST_DIRECTORY" || TEST_DIRECTORY=${0%/*}/../../t
+. "$TEST_DIRECTORY"/test-lib.sh
if ! test_have_prereq PYTHON
then
diff --git a/contrib/remote-helpers/test-hg-hg-git.sh b/contrib/remote-helpers/test-hg-hg-git.sh
index 6dcd95d10f..b23909ae6c 100755
--- a/contrib/remote-helpers/test-hg-hg-git.sh
+++ b/contrib/remote-helpers/test-hg-hg-git.sh
@@ -8,7 +8,8 @@
test_description='Test remote-hg output compared to hg-git'
-. ./test-lib.sh
+test -n "$TEST_DIRECTORY" || TEST_DIRECTORY=${0%/*}/../../t
+. "$TEST_DIRECTORY"/test-lib.sh
if ! test_have_prereq PYTHON
then