Export to GitHub

tortoisesvn - issue #68

Commit only parts of files


Posted on Feb 16, 2011 by Helpful Hippo

When working on a task, it often happens that one finds an issue with the surrounding code. Fixing that issue leads then to multiple tasks done in the same file, and therefore also to have multiple fixes/tasks done in one single commit. It would be very handy if users could select from the commit dialog which changes (lines) of a file they want to include in a commit instead of only whole files.

This could be done in a way that goes something like this: * user selects the lines of a file to commit * TSVN creates a copy of the file and stores that in a save place * TSVN reverts all changes to that file which were not selected for the commit, leaving the file with only the selected changes * TSVN does the commit * TSVN then gets the saved file back

Comment #1

Posted on Feb 28, 2011 by Grumpy Elephant

TortoiseHG has similar function call "Hunk Selection". Maybe their UI for this is worth considering.

http://tortoisehg.bitbucket.org/manual/1.1/commit.html?highlight=hunk%20selection

Comment #2

Posted on Feb 28, 2011 by Helpful Hippo

Thanks for the screenshot! The UI looks nice, but I doubt that TSVN users would be able to use that: most are not familiar with unified diffs. So using the two-way view of TMerge might be better.

Comment #3

Posted on Jan 15, 2012 by Helpful Hippo

Another idea on how to do this:

  • right-click on file, choose "restore after commit" (name is up for discussion)
  • TSVN creates a copy of the file outside the working copy, the file is shown differently in the commit dialog (maybe an overlay icon or a different color)
  • user can double-click the file to open it in TMerge or some other diff tool and undo all the changes that should not be committed, then save those changes
  • commit
  • after the commit is finished, the copy of the original file is moved back

since this is my current workflow in such situations I think this would work great. At least the manual creation of the copy of the file and the restoring after the commit would be done automatically. And it has the big advantage that the user can modify the file any way he wants before committing. Also the file is shown the way it gets committed.

Comment #4

Posted on Jan 15, 2012 by Helpful Hippo

(No comment was entered for this change.)

Comment #5

Posted on Jan 15, 2012 by Helpful Hippo

This issue was closed by revision r22466.

Comment #6

Posted on Feb 14, 2012 by Swift Cat

Comment deleted

Comment #7

Posted on Jul 1, 2012 by Happy Camel

Would've been better if it worked by inclusion instead of exclusion...

Comment #8

Posted on Jul 1, 2012 by Happy Camel

Comment deleted

Status: Fixed

Labels:
Type-Enhancement Priority-Medium Usability Component-UI Milestone-1.8.0