/[Apache-SVN]
ViewVC logotype

Revision 1831884


Jump to revision: Previous Next
Author: julianfoad
Date: Sat May 19 10:36:24 2018 UTC (5 years, 11 months ago)
Changed paths: 4
Log Message:
Shelving: Use whole-file storage and 3-way merge.

Use whole-file storage completely, instead of patch storage, and use
3-way merge to apply changes to a working file (and dir props).

Don't discriminate 'binary' files at storage time. When unshelving
(applying) a change, treat 'binary' files by the choose-one-or-the-other
method; raise a conflict if the working file differs from the stored
base.

In other words, this is closer to how a normal merge works.

TODO:
  - The svn_client_shelf_export_patch() API is disabled for now.
  - Handling of conflicts is weak.

* subversion/include/svn_client.h
  (svn_client_shelf_test_apply_file): Avoid using the term 'patch' in the
    doc string.

* subversion/libsvn_client/shelf.c
  Implement storage of base and working text and props. Remove storage in
  patch files.

* subversion/svn/shelf-cmd.c
  Remove detection of 'reject' notifications from patching. Avoid using the
  term 'patch' in doc strings.

* subversion/tests/cmdline/shelf_tests.py
  (shelve_empty_deletes): Remove XFail, as now passes.


Changed paths

Path Details
Directorysubversion/trunk/subversion/include/svn_client.h modified , text changed
Directorysubversion/trunk/subversion/libsvn_client/shelf.c modified , text changed
Directorysubversion/trunk/subversion/svn/shelf-cmd.c modified , text changed
Directorysubversion/trunk/subversion/tests/cmdline/shelf_tests.py modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26