aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2012-01-12 15:25:10 +0200
committerGuido Günther <agx@sigxcpu.org>2012-01-17 19:18:18 +0100
commit0c47432db776f37ceda027bf9901022df37e545d (patch)
treeb184a6ebca8062bb4efd48ce0a716499a457bf51
parent655050770a40607702ea478b9317634f181c06b7 (diff)
Add git-depth option to gbp-clone and gbp-pull
Allows creating and deepening shallow clones. This is sometimes useful for e.g. saving bandwidth when cloning.
-rw-r--r--docs/manpages/gbp-clone.sgml8
-rw-r--r--docs/manpages/gbp-pull.sgml8
-rwxr-xr-x[-rw-r--r--]gbp/scripts/clone.py4
-rwxr-xr-x[-rw-r--r--]gbp/scripts/pull.py4
4 files changed, 22 insertions, 2 deletions
diff --git a/docs/manpages/gbp-clone.sgml b/docs/manpages/gbp-clone.sgml
index 526f3f71..f4be9768 100644
--- a/docs/manpages/gbp-clone.sgml
+++ b/docs/manpages/gbp-clone.sgml
@@ -26,6 +26,7 @@
<arg><option>--[no-]pristine-tar</option></arg>
<arg><option>--debian-branch=</option><replaceable>branch_name</replaceable></arg>
<arg><option>--upstream-branch=</option><replaceable>branch_name</replaceable></arg>
+ <arg><option>--depth=</option><replaceable>depth</replaceable></arg>
<arg choice="plain"><replaceable>remote_uri</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -67,6 +68,13 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><option>--depth</option>=<replaceable>depth</replaceable>
+ </term>
+ <listitem>
+ <para>Git history depth, for creating shallow git clones.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>--verbose</option></term>
<term><option>-v</option></term>
<listitem>
diff --git a/docs/manpages/gbp-pull.sgml b/docs/manpages/gbp-pull.sgml
index d1a9b23c..b8dcde41 100644
--- a/docs/manpages/gbp-pull.sgml
+++ b/docs/manpages/gbp-pull.sgml
@@ -27,6 +27,7 @@
<arg><option>--[no-]pristine-tar</option></arg>
<arg><option>--debian-branch=</option><replaceable>branch_name</replaceable></arg>
<arg><option>--upstream-branch=</option><replaceable>branch_name</replaceable></arg>
+ <arg><option>--depth=</option><replaceable>depth</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
@@ -74,6 +75,13 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><option>--depth</option>=<replaceable>depth</replaceable>
+ </term>
+ <listitem>
+ <para>Git history depth, for deepening shallow git clones.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>--verbose</option></term>
<term><option>-v</option></term>
<listitem>
diff --git a/gbp/scripts/clone.py b/gbp/scripts/clone.py
index 665b548e..2c4a93b8 100644..100755
--- a/gbp/scripts/clone.py
+++ b/gbp/scripts/clone.py
@@ -40,6 +40,8 @@ def parse_args (argv):
branch_group.add_config_file_option(option_name="upstream-branch", dest="upstream_branch")
branch_group.add_config_file_option(option_name="debian-branch", dest="debian_branch")
branch_group.add_boolean_config_file_option(option_name="pristine-tar", dest="pristine_tar")
+ branch_group.add_option("--depth", action="store", dest="depth", default=0,
+ help="git history depth (for creating shallow clones)")
parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False,
help="verbose command execution")
@@ -70,7 +72,7 @@ def main(argv):
pass
try:
- repo = GitRepository.clone(os.path.curdir, source)
+ repo = GitRepository.clone(os.path.curdir, source, options.depth)
os.chdir(repo.path)
# Reparse the config files of the cloned repository so we pick up the
diff --git a/gbp/scripts/pull.py b/gbp/scripts/pull.py
index 3502efea..face2cc1 100644..100755
--- a/gbp/scripts/pull.py
+++ b/gbp/scripts/pull.py
@@ -81,6 +81,8 @@ def main(argv):
branch_group.add_config_file_option(option_name="upstream-branch", dest="upstream_branch")
branch_group.add_config_file_option(option_name="debian-branch", dest="debian_branch")
branch_group.add_boolean_config_file_option(option_name="pristine-tar", dest="pristine_tar")
+ branch_group.add_option("--depth", action="store", dest="depth", default=0,
+ help="git history depth (for deepening shallow clones)")
parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False,
help="verbose command execution")
parser.add_config_file_option(option_name="color", dest="color", type='tristate')
@@ -112,7 +114,7 @@ def main(argv):
gbp.log.err(out)
raise GbpError
- repo.fetch()
+ repo.fetch(options.depth)
for branch in branches:
if not fast_forward_branch(branch, repo, options):
retval = 2