Page MenuHomePhabricator

Fix double file content in files in new subdirectories in Subversion
ClosedPublic

Authored by epriestley on Jul 13 2014, 6:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 21, 3:32 PM
Unknown Object (File)
Mon, Dec 16, 12:59 PM
Unknown Object (File)
Thu, Dec 12, 6:37 AM
Unknown Object (File)
Wed, Dec 11, 12:00 PM
Unknown Object (File)
Sat, Dec 7, 3:11 AM
Unknown Object (File)
Fri, Dec 6, 7:17 PM
Unknown Object (File)
Fri, Dec 6, 4:32 AM
Unknown Object (File)
Fri, Dec 6, 2:27 AM
Subscribers

Details

Summary

Fixes T5555. Normally, when we svn diff subdir/, we use --depth empty to get only changes for the directory itself (usually, property changes).

However, this flag has no effect if the directory is newly added.

Adjust the diff parser so that if two sets of hunks are specified for a single file in a raw diff, we let the last one win instead of including both. This approach is a broadly more reasonable interpretation of these diffs.

Test Plan
  • Added a new file in a new subdirectory in Subversion.
  • Ran arc diff --only.
  • No double file content in resulting diff.
  • Added unit test.
  • There's fairly comprehensive unit test coverage for this stuff.

Diff Detail

Repository
rARC Arcanist
Branch
svnddiff
Lint
Lint Errors
SeverityLocationCodeMessage
Errorsrc/parser/__tests__/diff/svn-double-diff.svndiff:3TXT2Tab Literal
Unit
Tests Passed
Build Status
Buildable 1683
Build 1684: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Fix double file content in files in new subdirectories in Subversion.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added reviewers: chad, btrahan.
chad edited edge metadata.
This revision is now accepted and ready to land.Jul 15 2014, 1:07 AM
epriestley updated this revision to Diff 23840.

Closed by commit rARC97501da16416 (authored by Evan Priestley <epriestley@orbital.(none)>).