mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Merge "init: --dissociate option to copy objects borrowed with --reference"
This commit is contained in:
commit
36391bf5ca
10
project.py
10
project.py
@ -1310,6 +1310,16 @@ class Project(object):
|
||||
submodules=submodules)):
|
||||
return False
|
||||
|
||||
mp = self.manifest.manifestProject
|
||||
dissociate = mp.config.GetBoolean('repo.dissociate')
|
||||
if dissociate:
|
||||
alternates_file = os.path.join(self.gitdir, 'objects/info/alternates')
|
||||
if os.path.exists(alternates_file):
|
||||
cmd = ['repack', '-a', '-d']
|
||||
if GitCommand(self, cmd, bare=True).Wait() != 0:
|
||||
return False
|
||||
platform_utils.remove(alternates_file)
|
||||
|
||||
if self.worktree:
|
||||
self._InitMRef()
|
||||
else:
|
||||
|
3
repo
3
repo
@ -190,6 +190,9 @@ group.add_option('--mirror',
|
||||
group.add_option('--reference',
|
||||
dest='reference',
|
||||
help='location of mirror directory', metavar='DIR')
|
||||
group.add_option('--dissociate',
|
||||
dest='dissociate', action='store_true',
|
||||
help='dissociate from reference mirrors after clone')
|
||||
group.add_option('--depth', type='int', default=None,
|
||||
dest='depth',
|
||||
help='create a shallow clone with given depth; see git clone')
|
||||
|
@ -61,6 +61,11 @@ directory use as much data as possible from the local reference
|
||||
directory when fetching from the server. This will make the sync
|
||||
go a lot faster by reducing data traffic on the network.
|
||||
|
||||
The --dissociate option can be used to borrow the objects from
|
||||
the directory specified with the --reference option only to reduce
|
||||
network transfer, and stop borrowing from them after a first clone
|
||||
is made by making necessary local copies of borrowed objects.
|
||||
|
||||
The --no-clone-bundle option disables any attempt to use
|
||||
$URL/clone.bundle to bootstrap a new Git repository from a
|
||||
resumeable bundle file on a content delivery network. This
|
||||
@ -103,6 +108,9 @@ to update the working directory files.
|
||||
g.add_option('--reference',
|
||||
dest='reference',
|
||||
help='location of mirror directory', metavar='DIR')
|
||||
g.add_option('--dissociate',
|
||||
dest='dissociate', action='store_true',
|
||||
help='dissociate from reference mirrors after clone')
|
||||
g.add_option('--depth', type='int', default=None,
|
||||
dest='depth',
|
||||
help='create a shallow clone with given depth; see git clone')
|
||||
@ -219,6 +227,9 @@ to update the working directory files.
|
||||
if opt.reference:
|
||||
m.config.SetString('repo.reference', opt.reference)
|
||||
|
||||
if opt.dissociate:
|
||||
m.config.SetString('repo.dissociate', 'true')
|
||||
|
||||
if opt.archive:
|
||||
if is_new:
|
||||
m.config.SetString('repo.archive', 'true')
|
||||
|
Loading…
Reference in New Issue
Block a user