.hgtags
author Patrick Mezard <pmezard@gmail.com>
Fri, 27 May 2011 21:50:10 +0200
branchstable
changeset 958 e763012a55e5
parent 200 7eae2cfd26fa
permissions -rw-r--r--
patch: use temporary files to handle intermediate copies git patches may require copies to be handled out-of-order. For instance, take the following sequence: * modify a * copy a into b Here, we have to generate b from a before its modification. To do so, applydiff() was scanning for copy metadata and performing the copies before processing the other changes in-order. While smart and efficient, this approach complicates things by handling file copies and file creations at different places and times. While a new file must not exist before being patched a copied file already exists before applying the first hunk. Instead of copying the files at their final destination before patching, we store them in a temporary file location and retrieve them when patching. The filestore always stores file content in real files but nothing prevents adding a cache layer. The filestore class was kept separate from fsbackend for at least two reasons: - This class is likely to be reused as a temporary result store for a future repository patching call (entries just have to be extended to contain copy sources). - Delegating this role to backends might be more efficient in a repository backend case: the source files are already available in the repository itself and do not need to be copied again. It also means that third-parties backend would have to implement two other methods. If we ever decide to merge the filestore feature into backend, a minimalistic approach would be to compose with filestore directly. Keep in mind this copy overhead only applies for copy/rename sources, and may even be reduced to copy sources which have to handled ahead of time. [ original upstream message ]
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
bd97d6fde324 Added tag universal_scheme for changeset 536c1797202d
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     1
536c1797202d57efb77bea098e10968ff01602ce universal_scheme
43
fe5d9b9e78fc Added tag cvs_scheme for changeset ba000e29ecf3
Christian Ebert <blacktrash@gmx.net>
parents: 22
diff changeset
     2
ba000e29ecf3b8df09e0fd363a78cabbe3c2a78f cvs_scheme
62
736ff2dde308 Added tag r0.1 for changeset 1fe48bf82d05
Christian Ebert <blacktrash@gmx.net>
parents: 43
diff changeset
     3
1fe48bf82d056f1ece05baccab888357c10c5ab8 r0.1
91
04c899130750 Added tag very_cvs for changeset 2e930f842242
Christian Ebert <blacktrash@gmx.net>
parents: 85
diff changeset
     4
2e930f84224222ad6514a3c5dc6e00350e199e92 very_cvs
125
e09b070073b2 Added tag hgkw_standalone_setup for changeset 99dc49c5bcfb
Christian Ebert <blacktrash@gmx.net>
parents: 91
diff changeset
     5
99dc49c5bcfba9d5b412c5fa6d0bf3ba20d68df1 hgkw_standalone_setup
130
8b9912865921 Added tag nohook for changeset 15e8cd7f5295
Christian Ebert <blacktrash@gmx.net>
parents: 125
diff changeset
     6
15e8cd7f5295728b089fc8ba236c0f079572fb1d nohook
150
ba5cb61db7a0 Added tag archive for changeset 0c8b7e5c25a6
Christian Ebert <blacktrash@gmx.net>
parents: 130
diff changeset
     7
0c8b7e5c25a6b9a0d2782eaa3748eb546f5a254f archive
194
2a51062ecc60 Removed tag universal_scheme
Christian Ebert <blacktrash@gmx.net>
parents: 150
diff changeset
     8
0000000000000000000000000000000000000000 universal_scheme
195
17bd1f7ca3be Removed tag cvs_scheme
Christian Ebert <blacktrash@gmx.net>
parents: 194
diff changeset
     9
0000000000000000000000000000000000000000 cvs_scheme
196
aebd144f03f2 Removed tag r0.1
Christian Ebert <blacktrash@gmx.net>
parents: 195
diff changeset
    10
0000000000000000000000000000000000000000 r0.1
197
87f5b5365b76 Removed tag very_cvs
Christian Ebert <blacktrash@gmx.net>
parents: 196
diff changeset
    11
0000000000000000000000000000000000000000 very_cvs
198
99ab1bcffa67 Removed tag hgkw_standalone_setup
Christian Ebert <blacktrash@gmx.net>
parents: 197
diff changeset
    12
0000000000000000000000000000000000000000 hgkw_standalone_setup
199
d07c6297d4bb Removed tag nohook
Christian Ebert <blacktrash@gmx.net>
parents: 198
diff changeset
    13
0000000000000000000000000000000000000000 nohook
200
7eae2cfd26fa Removed tag archive
Christian Ebert <blacktrash@gmx.net>
parents: 199
diff changeset
    14
0000000000000000000000000000000000000000 archive