&git-buildpackage; <option>--git-export-dir</option>=<replaceable>../build-area</replaceable> <option>--git-export</option>=<replaceable>etch</replaceable>
&git-buildpackage; <option>--git-export-dir</option>=<replaceable>../build-area</replaceable> <option>--git-export</option>=<replaceable>8caed309653d69b7ab440e3d35abc090eb4c6697</replaceable>
&git-buildpackage; <option>--git-export-dir</option>=<replaceable>../build-area</replaceable> <option>--git-export</option>=<replaceable>INDEX</replaceable>
+&git-buildpackage; <option>--git-export-dir</option>=<replaceable>../build-area</replaceable> <option>--git-export</option>=<replaceable>WC</replaceable>
</screen>
<para>The special argument <replaceable>INDEX</replaceable> exports the
- state of the current index which can be used to include staged but
- uncommitted changes in the build.</para>
+ state of the current index which can be used to include staged but uncommitted
+ changes in the build. Whereas the special argument
+ <replaceable>WC</replaceable> exports the current working copy as is.</para>
<para>If you want to default to build in a separate build area you can
specify the directory to use in the gbp.conf.
<programlisting>
import time
import gbp.deb_utils as du
from gbp.git_utils import (GitRepositoryError, GitRepository, build_tag)
-from gbp.command_wrappers import (GitTag, Command, RunAtCommand, CommandExecFailed,
- PristineTar, RemoveTree)
+from gbp.command_wrappers import (GitTag, Command, RunAtCommand, CommandExecFailed,
+ PristineTar, RemoveTree, GitAdd)
from gbp.config import (GbpOptionParser, GbpOptionGroup)
from gbp.errors import GbpError
# when we want to reference the index in a treeish context we call it:
index_name = "INDEX"
+# when we want to reference the working copy in treeish context we call it:
+wc_name = "WC"
def git_archive_pipe(prefix, pipe, output, treeish):
"""run the git_archive pipe"""
else:
return False
+
def git_archive_build_orig(repo, cp, output_dir, options):
"""build orig using git-archive"""
# --upstream-branch was given on the command line, so use this:
if not git_archive(cp, output_dir, upstream_tree):
raise GbpError, "Cannot create upstream tarball at '%s'" % output_dir
+
+def write_wc(repo):
+ """write out the current working copy as a treeish object"""
+ tree = None
+ os.putenv("GIT_INDEX_FILE", ".git/gbp_index")
+ GitAdd()(['-f', '.'])
+ tree = repo.write_tree()
+ os.unsetenv("GIT_INDEX_FILE")
+ return tree
+
+
def main(argv):
changelog = 'debian/changelog'
default_tree = 'HEAD'
# write a tree of the index if necessary:
if options.treeish == index_name:
tree = repo.write_tree()
+ elif options.treeish == wc_name:
+ tree = write_wc(repo)
else:
tree = options.treeish
if not repo.has_treeish(tree):