summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGuido Guenther <agx@sigxcpu.org>2008-09-22 19:06:36 +0200
committerGuido Guenther <agx@sigxcpu.org>2008-09-22 19:06:36 +0200
commit624bdc9090c7402963744684a7d6c0ac0af14927 (patch)
tree497505be411ce9eeefa856b965a729ed4764ce31
parent3931f708113532788572e0b2590426e31a3b948c (diff)
move replace_source_tree into GitRepository
-rw-r--r--gbp/git_utils.py30
-rwxr-xr-xgit-import-dsc6
-rwxr-xr-xgit-import-orig4
3 files changed, 20 insertions, 20 deletions
diff --git a/gbp/git_utils.py b/gbp/git_utils.py
index 9a70ab88..670d9903 100644
--- a/gbp/git_utils.py
+++ b/gbp/git_utils.py
@@ -118,6 +118,21 @@ class GitRepository(object):
raise GitRepositoryError, "can't write out current index"
return tree[0].strip()
+ def replace_tree(self, src_dir, filters, verbose=False):
+ """
+ make the current wc match what's in src_dir
+ @return: True if wc was modified
+ @rtype: boolean
+ """
+ old = set(self.index_files())
+ new = set(copy_from(src_dir, filters))
+ GitAdd()(['-f', '.'])
+ files = [ obj for obj in old - new if not os.path.isdir(obj)]
+ if files:
+ GitRm(verbose=verbose)(files)
+ return not self.is_clean()[0]
+
+
def build_tag(format, version):
"""Generate a tag from a given format and a version"""
return format % dict(version=sanitize_version(version))
@@ -130,21 +145,6 @@ def sanitize_version(version):
return version.replace('~', '.')
-def replace_source_tree(repo, src_dir, filters, verbose=False):
- """
- make the current wc match what's in src_dir
- @return: True if wc was modified
- @rtype: boolean
- """
- old = set(repo.index_files())
- new = set(copy_from(src_dir, filters))
- GitAdd()(['-f', '.'])
- files = [ obj for obj in old - new if not os.path.isdir(obj)]
- if files:
- GitRm(verbose=verbose)(files)
- return not repo.is_clean()[0]
-
-
def rfc822_date_to_git(rfc822_date):
"""Parse a date in RFC822 format, and convert to a 'seconds tz' string.
>>> rfc822_date_to_git('Thu, 1 Jan 1970 00:00:01 +0000')
diff --git a/git-import-dsc b/git-import-dsc
index a215f5d2..e1865d51 100755
--- a/git-import-dsc
+++ b/git-import-dsc
@@ -26,7 +26,7 @@ import pipes
from email.Utils import parseaddr
import gbp.command_wrappers as gbpc
from gbp.deb_utils import debian_version_chars, parse_changelog, unpack_orig, parse_dsc, DscFile, tar_toplevel
-from gbp.git_utils import build_tag, GitRepository, GitRepositoryError, replace_source_tree, rfc822_date_to_git
+from gbp.git_utils import build_tag, GitRepository, GitRepositoryError, rfc822_date_to_git
from gbp.config import GbpOptionParser
from gbp.errors import GbpError
@@ -203,14 +203,14 @@ def main(argv):
# FIXME: this is what import-orig does - merge
if not src.native:
gbpc.GitCheckoutBranch(options.upstream_branch)()
- replace_source_tree(repo, unpack_dir, options.filters, verbose=True)
+ repo.replace_tree(unpack_dir, options.filters, verbose=True)
gbpc.GitCommitAll()(msg="Imported %s" % msg)
gitTag(tag, msg=msg)
if options.pristine_tar and not src.native:
gbpc.PristineTar().commit(src.tgz, options.upstream_branch)
if not src.native:
gbpc.GitCheckoutBranch(options.debian_branch)()
- replace_source_tree(repo, unpack_dir, options.filters)
+ repo.replace_tree(unpack_dir, options.filters)
apply_debian_patch(src, dirs, options)
except gbpc.CommandExecFailed:
os.chdir(dirs['top'])
diff --git a/git-import-orig b/git-import-orig
index 54a81f52..bf5a2b0e 100755
--- a/git-import-orig
+++ b/git-import-orig
@@ -26,7 +26,7 @@ import glob
import subprocess
import gbp.command_wrappers as gbpc
from gbp.deb_utils import parse_changelog, unpack_orig, NoChangelogError, has_epoch, tar_toplevel
-from gbp.git_utils import (GitRepositoryError, GitRepository, build_tag, replace_source_tree)
+from gbp.git_utils import (GitRepositoryError, GitRepository, build_tag)
from gbp.config import GbpOptionParser
from gbp.errors import GbpError
@@ -62,7 +62,7 @@ def symlink_orig(archive, pkg, version):
def import_upstream_tree(repo, src_dir, version, filters, verbose):
"""import the source uptream tree to the current branch"""
try:
- if replace_source_tree(repo, src_dir, filters, verbose=True):
+ if repo.replace_tree(src_dir, filters, verbose=True):
gbpc.GitCommitAll(verbose=verbose)(msg="Imported Upstream version %s" % version)
else:
raise GbpError, "Nothing to commit, nothing imported."