summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2015-07-27 03:51:00 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2015-07-27 03:51:37 +0100
commitfc328b35ddc6e37c183383d5f8c6bb973dd0cc9b (patch)
tree3204e5480f5e466b70e9f5331d1f2730e0b14dcc /dgit
parentb03d65e3455ddc7ec7ef7ac666693f2013841817 (diff)
Set up git user.email and user.name from distro access config or DEBEMAIL/DEBFULLNAME. Closes:#793410.
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit21
1 files changed, 21 insertions, 0 deletions
diff --git a/dgit b/dgit
index d8a49db..867ba3c 100755
--- a/dgit
+++ b/dgit
@@ -1668,8 +1668,24 @@ sub setup_mergechangelogs (;$) {
rename "$attrs.new", "$attrs" or die "$attrs: $!";
}
+sub setup_useremail (;$) {
+ my ($always) = @_;
+ return unless $always || access_cfg_bool(1, 'setup-useremail');
+
+ my $setup = sub {
+ my ($k, $envvar) = @_;
+ my $v = access_cfg("user-$k", 'RETURN-UNDEF') // $ENV{$envvar};
+ return unless defined $v;
+ set_local_git_config "user.$k", $v;
+ };
+
+ $setup->('email', 'DEBEMAIL');
+ $setup->('name', 'DEBFULLNAME');
+}
+
sub setup_new_tree () {
setup_mergechangelogs();
+ setup_useremail();
}
sub clone ($) {
@@ -3031,6 +3047,11 @@ sub cmd_setup_mergechangelogs {
setup_mergechangelogs(1);
}
+sub cmd_setup_useremail {
+ badusage "no arguments allowed to dgit setup-mergechangelogs" if @ARGV;
+ setup_useremail(1);
+}
+
sub cmd_setup_new_tree {
badusage "no arguments allowed to dgit setup-tree" if @ARGV;
setup_new_tree();