mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
Merge branch 'gv/p4-multi-path-commit-fix'
"git p4" that tracks multile p4 paths imported a single changelist that touches files in these multiple paths as one commit, followed by many empty commits. This has been fixed. * gv/p4-multi-path-commit-fix: git-p4: fix multi-path changelist empty commits
This commit is contained in:
commit
d7dcd52a42
|
@ -839,7 +839,7 @@ def p4ChangesForPaths(depotPaths, changeRange, requestedBlockSize):
|
|||
die("cannot use --changes-block-size with non-numeric revisions")
|
||||
block_size = None
|
||||
|
||||
changes = []
|
||||
changes = set()
|
||||
|
||||
# Retrieve changes a block at a time, to prevent running
|
||||
# into a MaxResults/MaxScanRows error from the server.
|
||||
|
@ -858,7 +858,7 @@ def p4ChangesForPaths(depotPaths, changeRange, requestedBlockSize):
|
|||
|
||||
# Insert changes in chronological order
|
||||
for line in reversed(p4_read_pipe_lines(cmd)):
|
||||
changes.append(int(line.split(" ")[1]))
|
||||
changes.add(int(line.split(" ")[1]))
|
||||
|
||||
if not block_size:
|
||||
break
|
||||
|
|
|
@ -131,6 +131,26 @@ test_expect_success 'clone two dirs, @all, conflicting files' '
|
|||
)
|
||||
'
|
||||
|
||||
test_expect_success 'clone two dirs, each edited by submit, single git commit' '
|
||||
(
|
||||
cd "$cli" &&
|
||||
echo sub1/f4 >sub1/f4 &&
|
||||
p4 add sub1/f4 &&
|
||||
echo sub2/f4 >sub2/f4 &&
|
||||
p4 add sub2/f4 &&
|
||||
p4 submit -d "sub1/f4 and sub2/f4"
|
||||
) &&
|
||||
git p4 clone --dest="$git" //depot/sub1@all //depot/sub2@all &&
|
||||
test_when_finished cleanup_git &&
|
||||
(
|
||||
cd "$git" &&
|
||||
git ls-files >lines &&
|
||||
test_line_count = 4 lines &&
|
||||
git log --oneline p4/master >lines &&
|
||||
test_line_count = 5 lines
|
||||
)
|
||||
'
|
||||
|
||||
revision_ranges="2000/01/01,#head \
|
||||
1,2080/01/01 \
|
||||
2000/01/01,2080/01/01 \
|
||||
|
@ -147,7 +167,7 @@ test_expect_success 'clone using non-numeric revision ranges' '
|
|||
(
|
||||
cd "$git" &&
|
||||
git ls-files >lines &&
|
||||
test_line_count = 6 lines
|
||||
test_line_count = 8 lines
|
||||
)
|
||||
done
|
||||
'
|
||||
|
|
Loading…
Reference in a new issue