{"thread":{"id":"15657","subject":"[PATCH 2/5] git-gui: Squash populate_{push,fetch}_menu to populate_remotes_menu","startedAt":"2008-09-24T20:43:58Z","lastAt":"2008-09-26T13:31:25Z","messageCount":20,"participants":["pasky@suse.cz","Petr Baudis","Heikki Orsila","Martin Langhoff","Nicolas Pitre","Andreas Ericsson","Shawn O. Pearce","A.J. Rossini"],"isPatch":true,"patchVersion":1,"patchTotal":5},"messages":[{"id":"91520","messageId":"20080924204358.144077183@suse.cz","threadId":"15657","inReplyTo":null,"subject":"[PATCH 0/5] git-gui: Remotes manipulation enhancements","fromName":"","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T20:43:58Z","receivedAt":"2008-09-24T20:43:58Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"This patch series implements various remotes manipulation enhancements,\nhopefully eliminating the main remaining gap in git-gui functionality.\n\nI hope this will go ok... the general atrocity of git send-email forced me to\nactually send out this TopGit patch queue using quilt mail for now.\n"},{"id":"91521","messageId":"20080924204614.264799440@suse.cz","threadId":"15657","inReplyTo":"20080924204358.144077183@suse.cz","subject":"[PATCH 1/5] git-gui: Clarify the Remote -> Delete... action","fromName":"","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T20:43:59Z","receivedAt":"2008-09-24T20:43:59Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Currently, it was not really clear what all does this perform. We rename\n\"Delete...\" to \"Delete Branch...\" (since this does not delete the remote\nas a whole) and relabel the window from \"Delete Remote Branch\" to \"Delete\nBranch Remotely\" (since the action also involves pushing the delete out).\n\nThis patch has been sponsored by Novartis.\n\nSigned-off-by: Petr Baudis <pasky@suse.cz>\n\n---\n git-gui/git-gui.sh                   |    2 +-\n git-gui/lib/remote_branch_delete.tcl |    4 ++--\n 2 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh\nindex 10d8a44..355c782 100755\n--- a/git-gui/git-gui.sh\n+++ b/git-gui/git-gui.sh\n@@ -2309,7 +2309,7 @@ if {[is_enabled transport]} {\n \t\t-command do_push_anywhere \\\n \t\t-accelerator $M1T-P\n \t.mbar.remote add command \\\n-\t\t-label [mc \"Delete...\"] \\\n+\t\t-label [mc \"Delete Branch...\"] \\\n \t\t-command remote_branch_delete::dialog\n }\n \ndiff --git a/git-gui/lib/remote_branch_delete.tcl b/git-gui/lib/remote_branch_delete.tcl\nindex c7b8148..fbcfb27 100644\n--- a/git-gui/lib/remote_branch_delete.tcl\n+++ b/git-gui/lib/remote_branch_delete.tcl\n@@ -26,12 +26,12 @@ constructor dialog {} {\n \tglobal all_remotes M1B\n \n \tmake_toplevel top w\n-\twm title $top [append \"[appname] ([reponame]): \" [mc \"Delete Remote Branch\"]]\n+\twm title $top [append \"[appname] ([reponame]): \" [mc \"Delete Branch Remotely\"]]\n \tif {$top ne {.}} {\n \t\twm geometry $top \"+[winfo rootx .]+[winfo rooty .]\"\n \t}\n \n-\tlabel $w.header -text [mc \"Delete Remote Branch\"] -font font_uibold\n+\tlabel $w.header -text [mc \"Delete Branch Remotely\"] -font font_uibold\n \tpack $w.header -side top -fill x\n \n \tframe $w.buttons\n-- \ntg: (c427559..) t/git-gui/delbranch (depends on: vanilla/master)\n"},{"id":"91519","messageId":"20080924204614.891128345@suse.cz","threadId":"15657","inReplyTo":"20080924204358.144077183@suse.cz","subject":"[PATCH 2/5] git-gui: Squash populate_{push,fetch}_menu to populate_remotes_menu","fromName":"","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T20:44:00Z","receivedAt":"2008-09-24T20:44:00Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"The meat of the routines is now separated to add_fetch_entry() and\nadd_push_entry(). This refactoring will allow easy implementation of adding\nindividual remotes later.\n\nThis patch has been sponsored by Novartis.\n\nSigned-off-by: Petr Baudis <pasky@suse.cz>\n\n---\n git-gui/git-gui.sh     |    3 +-\n git-gui/lib/remote.tcl |  137 ++++++++++++++++++++++++------------------------\n 2 files changed, 70 insertions(+), 70 deletions(-)\n\ndiff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh\nindex 10d8a44..75bd460 100755\n--- a/git-gui/git-gui.sh\n+++ b/git-gui/git-gui.sh\n@@ -3100,8 +3100,7 @@ if {[is_enabled transport]} {\n \tload_all_remotes\n \n \tset n [.mbar.remote index end]\n-\tpopulate_push_menu\n-\tpopulate_fetch_menu\n+\tpopulate_remotes_menu\n \tset n [expr {[.mbar.remote index end] - $n}]\n \tif {$n > 0} {\n \t\tif {[.mbar.remote type 0] eq \"tearoff\"} { incr n }\ndiff --git a/git-gui/lib/remote.tcl b/git-gui/lib/remote.tcl\nindex 0e86dda..d97c851 100644\n--- a/git-gui/lib/remote.tcl\n+++ b/git-gui/lib/remote.tcl\n@@ -132,91 +132,92 @@ proc load_all_remotes {} {\n \tset all_remotes [lsort -unique $all_remotes]\n }\n \n-proc populate_fetch_menu {} {\n-\tglobal all_remotes repo_config\n-\n+proc add_fetch_entry {r} {\n+\tglobal repo_config\n \tset remote_m .mbar.remote\n \tset fetch_m $remote_m.fetch\n \tset prune_m $remote_m.prune\n-\n-\tforeach r $all_remotes {\n-\t\tset enable 0\n-\t\tif {![catch {set a $repo_config(remote.$r.url)}]} {\n-\t\t\tif {![catch {set a $repo_config(remote.$r.fetch)}]} {\n-\t\t\t\tset enable 1\n-\t\t\t}\n-\t\t} else {\n-\t\t\tcatch {\n-\t\t\t\tset fd [open [gitdir remotes $r] r]\n-\t\t\t\twhile {[gets $fd n] >= 0} {\n-\t\t\t\t\tif {[regexp {^Pull:[ \\t]*([^:]+):} $n]} {\n-\t\t\t\t\t\tset enable 1\n-\t\t\t\t\t\tbreak\n-\t\t\t\t\t}\n+\tset enable 0\n+\tif {![catch {set a $repo_config(remote.$r.url)}]} {\n+\t\tif {![catch {set a $repo_config(remote.$r.fetch)}]} {\n+\t\t\tset enable 1\n+\t\t}\n+\t} else {\n+\t\tcatch {\n+\t\t\tset fd [open [gitdir remotes $r] r]\n+\t\t\twhile {[gets $fd n] >= 0} {\n+\t\t\t\tif {[regexp {^Pull:[ \\t]*([^:]+):} $n]} {\n+\t\t\t\t\tset enable 1\n+\t\t\t\t\tbreak\n \t\t\t\t}\n-\t\t\t\tclose $fd\n \t\t\t}\n+\t\t\tclose $fd\n \t\t}\n+\t}\n \n-\t\tif {$enable} {\n-\t\t\tif {![winfo exists $fetch_m]} {\n-\t\t\t\tmenu $prune_m\n-\t\t\t\t$remote_m insert 0 cascade \\\n-\t\t\t\t\t-label [mc \"Prune from\"] \\\n-\t\t\t\t\t-menu $prune_m\n-\n-\t\t\t\tmenu $fetch_m\n-\t\t\t\t$remote_m insert 0 cascade \\\n-\t\t\t\t\t-label [mc \"Fetch from\"] \\\n-\t\t\t\t\t-menu $fetch_m\n-\t\t\t}\n-\n-\t\t\t$fetch_m add command \\\n-\t\t\t\t-label $r \\\n-\t\t\t\t-command [list fetch_from $r]\n-\t\t\t$prune_m add command \\\n-\t\t\t\t-label $r \\\n-\t\t\t\t-command [list prune_from $r]\n+\tif {$enable} {\n+\t\tif {![winfo exists $fetch_m]} {\n+\t\t\tmenu $prune_m\n+\t\t\t$remote_m insert 0 cascade \\\n+\t\t\t\t-label [mc \"Prune from\"] \\\n+\t\t\t\t-menu $prune_m\n+\n+\t\t\tmenu $fetch_m\n+\t\t\t$remote_m insert 0 cascade \\\n+\t\t\t\t-label [mc \"Fetch from\"] \\\n+\t\t\t\t-menu $fetch_m\n \t\t}\n+\n+\t\t$fetch_m add command \\\n+\t\t\t-label $r \\\n+\t\t\t-command [list fetch_from $r]\n+\t\t$prune_m add command \\\n+\t\t\t-label $r \\\n+\t\t\t-command [list prune_from $r]\n \t}\n }\n \n-proc populate_push_menu {} {\n-\tglobal all_remotes repo_config\n-\n+proc add_push_entry {r} {\n+\tglobal repo_config\n \tset remote_m .mbar.remote\n \tset push_m $remote_m.push\n-\n-\tforeach r $all_remotes {\n-\t\tset enable 0\n-\t\tif {![catch {set a $repo_config(remote.$r.url)}]} {\n-\t\t\tif {![catch {set a $repo_config(remote.$r.push)}]} {\n-\t\t\t\tset enable 1\n-\t\t\t}\n-\t\t} else {\n-\t\t\tcatch {\n-\t\t\t\tset fd [open [gitdir remotes $r] r]\n-\t\t\t\twhile {[gets $fd n] >= 0} {\n-\t\t\t\t\tif {[regexp {^Push:[ \\t]*([^:]+):} $n]} {\n-\t\t\t\t\t\tset enable 1\n-\t\t\t\t\t\tbreak\n-\t\t\t\t\t}\n+\tset enable 0\n+\tif {![catch {set a $repo_config(remote.$r.url)}]} {\n+\t\tif {![catch {set a $repo_config(remote.$r.push)}]} {\n+\t\t\tset enable 1\n+\t\t}\n+\t} else {\n+\t\tcatch {\n+\t\t\tset fd [open [gitdir remotes $r] r]\n+\t\t\twhile {[gets $fd n] >= 0} {\n+\t\t\t\tif {[regexp {^Push:[ \\t]*([^:]+):} $n]} {\n+\t\t\t\t\tset enable 1\n+\t\t\t\t\tbreak\n \t\t\t\t}\n-\t\t\t\tclose $fd\n \t\t\t}\n+\t\t\tclose $fd\n \t\t}\n+\t}\n \n-\t\tif {$enable} {\n-\t\t\tif {![winfo exists $push_m]} {\n-\t\t\t\tmenu $push_m\n-\t\t\t\t$remote_m insert 0 cascade \\\n-\t\t\t\t\t-label [mc \"Push to\"] \\\n-\t\t\t\t\t-menu $push_m\n-\t\t\t}\n-\n-\t\t\t$push_m add command \\\n-\t\t\t\t-label $r \\\n-\t\t\t\t-command [list push_to $r]\n+\tif {$enable} {\n+\t\tif {![winfo exists $push_m]} {\n+\t\t\tmenu $push_m\n+\t\t\t$remote_m insert 0 cascade \\\n+\t\t\t\t-label [mc \"Push to\"] \\\n+\t\t\t\t-menu $push_m\n \t\t}\n+\n+\t\t$push_m add command \\\n+\t\t\t-label $r \\\n+\t\t\t-command [list push_to $r]\n+\t}\n+}\n+\n+proc populate_remotes_menu {} {\n+\tglobal all_remotes\n+\n+\tforeach r $all_remotes {\n+\t\tadd_fetch_entry $r\n+\t\tadd_push_entry $r\n \t}\n }\n-- \ntg: (c427559..) t/git-gui/populate-refactor (depends on: vanilla/master)\n"},{"id":"91522","messageId":"20080924204615.625864882@suse.cz","threadId":"15657","inReplyTo":"20080924204358.144077183@suse.cz","subject":"[PATCH 3/5] git-gui: Add support for adding remotes","fromName":"","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T20:44:01Z","receivedAt":"2008-09-24T20:44:01Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"When a remote is being added, it can also be automatically either fetched\nor initialized and pushed; this patch adds capability for initializing\nof local and ssh repositories. This also of course leaves a lot of space\nfor further customization features, like individually turning the\ninitialization phase on/off or tuning attributes of the remote\nrepository; I consider that out of scope of this patch, however.\n\nThis patch has been sponsored by Novartis.\n\nSigned-off-by: Petr Baudis <pasky@suse.cz>\n\n---\n git-gui/git-gui.sh         |    4 +\n git-gui/lib/remote.tcl     |   15 ++++\n git-gui/lib/remote_add.tcl |  190 ++++++++++++++++++++++++++++++++++++++++++++\n 3 files changed, 209 insertions(+), 0 deletions(-)\n\ndiff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh\nindex 75bd460..79d7597 100755\n--- a/git-gui/git-gui.sh\n+++ b/git-gui/git-gui.sh\n@@ -2305,6 +2305,10 @@ if {[is_enabled transport]} {\n \tmenu .mbar.remote\n \n \t.mbar.remote add command \\\n+\t\t-label [mc \"Add...\"] \\\n+\t\t-command remote_add::dialog \\\n+\t\t-accelerator $M1T-A\n+\t.mbar.remote add command \\\n \t\t-label [mc \"Push...\"] \\\n \t\t-command do_push_anywhere \\\n \t\t-accelerator $M1T-P\ndiff --git a/git-gui/lib/remote.tcl b/git-gui/lib/remote.tcl\nindex d97c851..643f0bc 100644\n--- a/git-gui/lib/remote.tcl\n+++ b/git-gui/lib/remote.tcl\n@@ -221,3 +221,18 @@ proc populate_remotes_menu {} {\n \t\tadd_push_entry $r\n \t}\n }\n+\n+proc add_single_remote {name location} {\n+\tglobal all_remotes repo_config\n+\tlappend all_remotes $name\n+\n+\tgit remote add $name $location\n+\n+\t# XXX: Better re-read the config so that we will never get out\n+\t# of sync with git remote implementation?\n+\tset repo_config(remote.$name.url) $location\n+\tset repo_config(remote.$name.fetch) \"+refs/heads/*:refs/remotes/$name/*\"\n+\n+\tadd_fetch_entry $name\n+\tadd_push_entry $name\n+}\ndiff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl\nnew file mode 100644\nindex 0000000..89e88ee\n--- /dev/null\n+++ b/git-gui/lib/remote_add.tcl\n@@ -0,0 +1,190 @@\n+# git-gui remote adding support\n+# Copyright (C) 2008 Petr Baudis\n+\n+class remote_add {\n+\n+field w              ; # widget path\n+field w_name         ; # new remote name widget\n+field w_loc          ; # new remote location widget\n+\n+field name         {}; # name of the remote the user has chosen\n+field location     {}; # location of the remote the user has chosen\n+\n+field opt_action fetch; # action to do after registering the remote locally\n+\n+constructor dialog {} {\n+\tglobal repo_config\n+\n+\tmake_toplevel top w\n+\twm title $top [append \"[appname] ([reponame]): \" [mc \"Add Remote\"]]\n+\tif {$top ne {.}} {\n+\t\twm geometry $top \"+[winfo rootx .]+[winfo rooty .]\"\n+\t}\n+\n+\tlabel $w.header -text [mc \"Add New Remote\"] -font font_uibold\n+\tpack $w.header -side top -fill x\n+\n+\tframe $w.buttons\n+\tbutton $w.buttons.create -text [mc Add] \\\n+\t\t-default active \\\n+\t\t-command [cb _add]\n+\tpack $w.buttons.create -side right\n+\tbutton $w.buttons.cancel -text [mc Cancel] \\\n+\t\t-command [list destroy $w]\n+\tpack $w.buttons.cancel -side right -padx 5\n+\tpack $w.buttons -side bottom -fill x -pady 10 -padx 10\n+\n+\tlabelframe $w.desc -text [mc \"Remote Details\"]\n+\n+\tlabel $w.desc.name_l -text [mc \"Name:\"]\n+\tset w_name $w.desc.name_t\n+\tentry $w_name \\\n+\t\t-borderwidth 1 \\\n+\t\t-relief sunken \\\n+\t\t-width 40 \\\n+\t\t-textvariable @name \\\n+\t\t-validate key \\\n+\t\t-validatecommand [cb _validate_name %d %S]\n+\tgrid $w.desc.name_l $w_name -sticky we -padx {0 5}\n+\n+\tlabel $w.desc.loc_l -text [mc \"Location:\"]\n+\tset w_loc $w.desc.loc_t\n+\tentry $w_loc \\\n+\t\t-borderwidth 1 \\\n+\t\t-relief sunken \\\n+\t\t-width 40 \\\n+\t\t-textvariable @location\n+\tgrid $w.desc.loc_l $w_loc -sticky we -padx {0 5}\n+\n+\tgrid columnconfigure $w.desc 1 -weight 1\n+\tpack $w.desc -anchor nw -fill x -pady 5 -padx 5\n+\n+\tlabelframe $w.action -text [mc \"Further Action\"]\n+\n+\tradiobutton $w.action.fetch \\\n+\t\t-text [mc \"Fetch Immediately\"] \\\n+\t\t-value fetch \\\n+\t\t-variable @opt_action\n+\tpack $w.action.fetch -anchor nw\n+\n+\tradiobutton $w.action.push \\\n+\t\t-text [mc \"Initialize Remote Repository and Push\"] \\\n+\t\t-value push \\\n+\t\t-variable @opt_action\n+\tpack $w.action.push -anchor nw\n+\n+\tradiobutton $w.action.none \\\n+\t\t-text [mc \"Do Nothing Else Now\"] \\\n+\t\t-value none \\\n+\t\t-variable @opt_action\n+\tpack $w.action.none -anchor nw\n+\n+\tgrid columnconfigure $w.action 1 -weight 1\n+\tpack $w.action -anchor nw -fill x -pady 5 -padx 5\n+\n+\tbind $w <Visibility> [cb _visible]\n+\tbind $w <Key-Escape> [list destroy $w]\n+\tbind $w <Key-Return> [cb _add]\\;break\n+\ttkwait window $w\n+}\n+\n+method _add {} {\n+\tglobal repo_config env\n+\tglobal M1B\n+\n+\tif {$name eq {}} {\n+\t\ttk_messageBox \\\n+\t\t\t-icon error \\\n+\t\t\t-type ok \\\n+\t\t\t-title [wm title $w] \\\n+\t\t\t-parent $w \\\n+\t\t\t-message [mc \"Please supply a remote name.\"]\n+\t\tfocus $w_name\n+\t\treturn\n+\t}\n+\n+\t# XXX: We abuse check-ref-format here, but\n+\t# that should be ok.\n+\tif {[catch {git check-ref-format \"remotes/$name\"}]} {\n+\t\ttk_messageBox \\\n+\t\t\t-icon error \\\n+\t\t\t-type ok \\\n+\t\t\t-title [wm title $w] \\\n+\t\t\t-parent $w \\\n+\t\t\t-message [mc \"'%s' is not an acceptable remote name.\" $name]\n+\t\tfocus $w_name\n+\t\treturn\n+\t}\n+\n+\tif {[catch {add_single_remote $name $location}]} {\n+\t\ttk_messageBox \\\n+\t\t\t-icon error \\\n+\t\t\t-type ok \\\n+\t\t\t-title [wm title $w] \\\n+\t\t\t-parent $w \\\n+\t\t\t-message [mc \"Failed to add remote '%s' of location '%s'.\" $name $location]\n+\t\tfocus $w_name\n+\t\treturn\n+\t}\n+\n+\tswitch -- $opt_action {\n+\tfetch {\n+\t\tset c [console::new \\\n+\t\t\t[mc \"fetch %s\" $remote] \\\n+\t\t\t[mc \"Fetching the %s\" $remote]]\n+\t\tconsole::exec $c [list git fetch --all $name]\n+\t}\n+\tpush {\n+\t\tset cmds [list]\n+\n+\t\t# Parse the location\n+\t\tif { [regexp {(?:git\\+)?ssh://([^/]+)(/.+)} $location xx host path]\n+\t\t     || [regexp {([^:][^:]+):(.+)} $location xx host path]} {\n+\t\t\tset ssh ssh\n+\t\t\tif {[info exists env(GIT_SSH)]} {\n+\t\t\t\tset ssh $env(GIT_SSH)\n+\t\t\t}\n+\t\t\tlappend cmds [list exec $ssh $host git --git-dir=$path init --bare]\n+\t\t} elseif { ! [regexp {://} $location xx] } {\n+\t\t\tlappend cmds [list exec git --git-dir=$location init --bare]\n+\t\t} else {\n+\t\t\ttk_messageBox \\\n+\t\t\t\t-icon error \\\n+\t\t\t\t-type ok \\\n+\t\t\t\t-title [wm title $w] \\\n+\t\t\t\t-parent $w \\\n+\t\t\t\t-message [mc \"Do not know how to initialize repository at location '%s'.\" $location]\n+\t\t\tdestroy $w\n+\t\t\treturn\n+\t\t}\n+\n+\t\tset c [console::new \\\n+\t\t\t[mc \"push %s\" $name] \\\n+\t\t\t[mc \"Setting up the %s (at %s)\" $name $location]]\n+\n+\t\tlappend cmds [list exec git push -v --all $name]\n+\t\tconsole::chain $c $cmds\n+\t}\n+\tnone {\n+\t}\n+\t}\n+\n+\tdestroy $w\n+}\n+\n+method _validate_name {d S} {\n+\tif {$d == 1} {\n+\t\tif {[regexp {[~^:?*\\[\\0- ]} $S]} {\n+\t\t\treturn 0\n+\t\t}\n+\t}\n+\treturn 1\n+}\n+\n+method _visible {} {\n+\tgrab $w\n+\t$w_name icursor end\n+\tfocus $w_name\n+}\n+\n+}\n-- \ntg: (fd699bc..) t/git-gui/remote-add (depends on: t/git-gui/populate-refactor)\n"},{"id":"91524","messageId":"20080924204616.189163849@suse.cz","threadId":"15657","inReplyTo":"20080924204358.144077183@suse.cz","subject":"[PATCH 4/5] git-gui: Add support for removing remotes","fromName":"","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T20:44:02Z","receivedAt":"2008-09-24T20:44:02Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"We introduce new submenu Remote -> Remove Remote, allowing to remove\nremotes. In the future, we might consider a confirmation popup to avoid\nmisclicks, but removing a remote is not very lossy operation.\n\nThis patch has been sponsored by Novartis.\n\nSigned-off-by: Petr Baudis <pasky@suse.cz>\n\n---\n git-gui/lib/remote.tcl |   37 +++++++++++++++++++++++++++++++++++++\n 1 files changed, 37 insertions(+), 0 deletions(-)\n\ndiff --git a/git-gui/lib/remote.tcl b/git-gui/lib/remote.tcl\nindex 643f0bc..1852247 100644\n--- a/git-gui/lib/remote.tcl\n+++ b/git-gui/lib/remote.tcl\n@@ -137,6 +137,7 @@ proc add_fetch_entry {r} {\n \tset remote_m .mbar.remote\n \tset fetch_m $remote_m.fetch\n \tset prune_m $remote_m.prune\n+\tset remove_m $remote_m.remove\n \tset enable 0\n \tif {![catch {set a $repo_config(remote.$r.url)}]} {\n \t\tif {![catch {set a $repo_config(remote.$r.fetch)}]} {\n@@ -157,6 +158,11 @@ proc add_fetch_entry {r} {\n \n \tif {$enable} {\n \t\tif {![winfo exists $fetch_m]} {\n+\t\t\tmenu $remove_m\n+\t\t\t$remote_m insert 0 cascade \\\n+\t\t\t\t-label [mc \"Remove Remote\"] \\\n+\t\t\t\t-menu $remove_m\n+\n \t\t\tmenu $prune_m\n \t\t\t$remote_m insert 0 cascade \\\n \t\t\t\t-label [mc \"Prune from\"] \\\n@@ -174,6 +180,9 @@ proc add_fetch_entry {r} {\n \t\t$prune_m add command \\\n \t\t\t-label $r \\\n \t\t\t-command [list prune_from $r]\n+\t\t$remove_m add command \\\n+\t\t\t-label $r \\\n+\t\t\t-command [list remove_remote $r]\n \t}\n }\n \n@@ -236,3 +245,31 @@ proc add_single_remote {name location} {\n \tadd_fetch_entry $name\n \tadd_push_entry $name\n }\n+\n+proc delete_from_menu {menu name} {\n+\tif {[winfo exists $menu]} {\n+\t\t$menu delete $name\n+\t}\n+}\n+\n+proc remove_remote {name} {\n+\tglobal all_remotes repo_config\n+\n+\tgit remote rm $name\n+\n+\tcatch {\n+\t\t# Missing values are ok\n+\t\tunset repo_config(remote.$name.url)\n+\t\tunset repo_config(remote.$name.fetch)\n+\t\tunset repo_config(remote.$name.push)\n+\t}\n+\n+\tset i [lsearch -exact all_remotes $name]\n+\tlreplace all_remotes $i $i\n+\n+\tset remote_m .mbar.remote\n+\tdelete_from_menu $remote_m.fetch $name\n+\tdelete_from_menu $remote_m.prune $name\n+\tdelete_from_menu $remote_m.remove $name\n+\tdelete_from_menu $remote_m.push $name\n+}\n-- \ntg: (f30d624..) t/git-gui/remote-rm (depends on: t/git-gui/remote-add)\n"},{"id":"91523","messageId":"20080924204616.697813413@suse.cz","threadId":"15657","inReplyTo":"20080924204358.144077183@suse.cz","subject":"[PATCH 5/5] git-gui: mkdir -p when initializing new remote repository","fromName":"","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T20:44:03Z","receivedAt":"2008-09-24T20:44:03Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"This allows the user to create repositories with arbitrary paths\non the server. The downside is that errorneously typed paths are\nnot caught but instead created remotely; YMMV.\n\nThis patch has been sponsored by Novartis.\n\nSigned-off-by: Petr Baudis <pasky@suse.cz>\n\n---\n git-gui/lib/remote_add.tcl |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl\nindex 89e88ee..8e3ad16 100644\n--- a/git-gui/lib/remote_add.tcl\n+++ b/git-gui/lib/remote_add.tcl\n@@ -144,8 +144,9 @@ method _add {} {\n \t\t\tif {[info exists env(GIT_SSH)]} {\n \t\t\t\tset ssh $env(GIT_SSH)\n \t\t\t}\n-\t\t\tlappend cmds [list exec $ssh $host git --git-dir=$path init --bare]\n+\t\t\tlappend cmds [list exec $ssh $host mkdir -p $location && git --git-dir=$path init --bare]\n \t\t} elseif { ! [regexp {://} $location xx] } {\n+\t\t\tlappend cmds [list exec mkdir -p $location]\n \t\t\tlappend cmds [list exec git --git-dir=$location init --bare]\n \t\t} else {\n \t\t\ttk_messageBox \\\n-- \ntg: (f30d624..) t/git-gui/remote-mkdir (depends on: t/git-gui/remote-add)\n"},{"id":"91537","messageId":"20080924225120.GL10544@machine.or.cz","threadId":"15657","inReplyTo":"20080924204358.144077183@suse.cz","subject":"On Sponsor Notices","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T22:51:20Z","receivedAt":"2008-09-24T22:51:20Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hi,\n\n  to follow up a little on the \"This patch has been sponsored by\nNovartis\" messages - I have been on a summer internship at Novartis busy\ndeploying Git and these patches (still quite a few more to come, mostly\nfor gitweb) have been one of the main outputs of that work.\n\n  However, I'm not sure if acknowledging the Novartis-originated patches\nin the log message like this is the best practice and we will understand\nif the maintainers will decide to strip these notices when applying the\npatches. Usually, this kind of acknowledgement is made by using\n\"sponsored\" email addresses, however mine will probably stop working\nshortly after I leave and the only way to read it is, shall we say,\nutmostly inconvenient. ;-) Now, Shawn has proposed 'Sponsored-by:' line\nat the header footer, which is also an interesting possibility.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nPeople who take cold baths never have rheumatism, but they have\ncold baths.\n"},{"id":"91538","messageId":"20080924225512.GF16289@zakalwe.fi","threadId":"15657","inReplyTo":"20080924225120.GL10544@machine.or.cz","subject":"Re: On Sponsor Notices","fromName":"Heikki Orsila","fromEmail":"shdl@zakalwe.fi","sentAt":"2008-09-24T22:55:12Z","receivedAt":"2008-09-24T22:55:12Z","isPatch":false,"sender":{"key":"shdl@zakalwe.fi","avatar":null},"body":"On Thu, Sep 25, 2008 at 12:51:20AM +0200, Petr Baudis wrote:\n> Now, Shawn has proposed 'Sponsored-by:' line\n> at the header footer, which is also an interesting possibility.\n\nIn my opinion, one should aim for minimum amount of technically \nirrelevant information. Extra lines cause penalty for reading logs.\n\n-- \nHeikki Orsila\nheikki.orsila@iki.fi\nhttp://www.iki.fi/shd\n"},{"id":"299070","messageId":"1222299167-4305-1-git-send-email-pasky@suse.cz","threadId":"15657","inReplyTo":"20080924204616.189163849@suse.cz","subject":"[PATCH] Fix removing non-pushable remotes","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T23:32:47Z","receivedAt":"2008-09-24T23:32:47Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Git-gui does not add most of the remotes to the 'push' menu\nsince they are missing the \"Push\" line in their remotespec.\nIn that case, removing the remote would end up with an error.\n\nSigned-off-by: Petr Baudis <pasky@suse.cz>\n\n---\n\nNote that I think this should be abandoned and all remotes\nadded to the push menu. Having the push part of the remotespec\nis actually a very rare situation and it is just not there\nin most of the cases, relying on default git push behaviour.\n\n git-gui/lib/remote.tcl |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/git-gui/lib/remote.tcl b/git-gui/lib/remote.tcl\nindex 1852247..b92b429 100644\n--- a/git-gui/lib/remote.tcl\n+++ b/git-gui/lib/remote.tcl\n@@ -271,5 +271,6 @@ proc remove_remote {name} {\n \tdelete_from_menu $remote_m.fetch $name\n \tdelete_from_menu $remote_m.prune $name\n \tdelete_from_menu $remote_m.remove $name\n-\tdelete_from_menu $remote_m.push $name\n+\t# Not all remotes are in the push menu\n+\tcatch { delete_from_menu $remote_m.push $name }\n }\n-- \ntg: (17f0c43..) t/git-gui/remove-push (depends on: git-gui/remotes)\n"},{"id":"299071","messageId":"1222299553-5217-1-git-send-email-pasky@suse.cz","threadId":"15657","inReplyTo":"20080924204615.625864882@suse.cz","subject":"[PATCH] git-gui: Fix fetching from remotes when adding them","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T23:39:13Z","receivedAt":"2008-09-24T23:39:13Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"As you can see, this particular code branch did not see a lot\nof testing for some time now. Apologies for that.\n\nSigned-off-by: Petr Baudis <pasky@suse.cz>\n\n---\n git-gui/lib/remote_add.tcl |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl\nindex 8e3ad16..fb29422 100644\n--- a/git-gui/lib/remote_add.tcl\n+++ b/git-gui/lib/remote_add.tcl\n@@ -130,9 +130,9 @@ method _add {} {\n \tswitch -- $opt_action {\n \tfetch {\n \t\tset c [console::new \\\n-\t\t\t[mc \"fetch %s\" $remote] \\\n-\t\t\t[mc \"Fetching the %s\" $remote]]\n-\t\tconsole::exec $c [list git fetch --all $name]\n+\t\t\t[mc \"fetch %s\" $name] \\\n+\t\t\t[mc \"Fetching the %s\" $name]]\n+\t\tconsole::exec $c [list git fetch $name]\n \t}\n \tpush {\n \t\tset cmds [list]\n-- \ntg: (17f0c43..) t/git-gui/remote-fetch (depends on: git-gui/remotes)\n"},{"id":"91544","messageId":"46a038f90809241643i1e366dfbtea8dbdd9a1bc1de5@mail.gmail.com","threadId":"15657","inReplyTo":"20080924225120.GL10544@machine.or.cz","subject":"Re: On Sponsor Notices","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2008-09-24T23:43:52Z","receivedAt":"2008-09-24T23:43:52Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On Thu, Sep 25, 2008 at 10:51 AM, Petr Baudis <pasky@suse.cz> wrote:\n>  to follow up a little on the \"This patch has been sponsored by\n> Novartis\" messages - I have been on a summer internship at Novartis busy\n> deploying Git and these patches (still quite a few more to come, mostly\n> for gitweb) have been one of the main outputs of that work.\n\nIn my case, if the contribution is done at the behest of a client the\ncopyright is theirs (they paid for my work, and it's a \"work for hire\"\nin legal terms). So\n\n - if the contribution is large, I tend to add a copyright line (see\ngit-cvsserver: copyright != authors, though that's out of date now)\n\n - they probably have to provide sign-off, so s-o-b line is appropriate\n\n>  However, I'm not sure if acknowledging the Novartis-originated patches\n> in the log message like this is the best practice and we will understand\n> if the maintainers will decide to strip these notices when applying the\n> patches.\n\nAIUI, the signed-off-by line is meant to track this, and it serves\nboth legal purposes and a as recognition.\n\ncheers,\n\n\n\nm\n-- \n martin.langhoff@gmail.com\n martin@laptop.org -- School Server Architect\n - ask interesting questions\n - don't get distracted with shiny stuff - working code first\n - http://wiki.laptop.org/go/User:Martinlanghoff\n"},{"id":"91545","messageId":"20080924234753.GE10360@machine.or.cz","threadId":"15657","inReplyTo":"46a038f90809241643i1e366dfbtea8dbdd9a1bc1de5@mail.gmail.com","subject":"Re: On Sponsor Notices","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2008-09-24T23:47:53Z","receivedAt":"2008-09-24T23:47:53Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"On Thu, Sep 25, 2008 at 11:43:52AM +1200, Martin Langhoff wrote:\n> On Thu, Sep 25, 2008 at 10:51 AM, Petr Baudis <pasky@suse.cz> wrote:\n> >  However, I'm not sure if acknowledging the Novartis-originated patches\n> > in the log message like this is the best practice and we will understand\n> > if the maintainers will decide to strip these notices when applying the\n> > patches.\n> \n> AIUI, the signed-off-by line is meant to track this, and it serves\n> both legal purposes and a as recognition.\n\nThat works fine when it is signed off by employers using their company\ne-mail, but that is not feasible in my case - what should be in the\nSigned-off-line? Name of the company? What about the e-mail? Some\ngeneric e-mail of the legal department? That doesn't really work well\nwith all the machinery developed around s-o-b lines, besides the\nquestion does not seem to be by far that simple with such a huge\ncorporation.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nPeople who take cold baths never have rheumatism, but they have\ncold baths.\n"},{"id":"91546","messageId":"46a038f90809241650v37f20243s15f2c72e06cbff14@mail.gmail.com","threadId":"15657","inReplyTo":"20080924234753.GE10360@machine.or.cz","subject":"Re: On Sponsor Notices","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2008-09-24T23:50:32Z","receivedAt":"2008-09-24T23:50:32Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On Thu, Sep 25, 2008 at 11:47 AM, Petr Baudis <pasky@suse.cz> wrote:\n> That works fine when it is signed off by employers using their company\n> e-mail, but that is not feasible in my case -\n\nDon't know that much about your case... Whoever at Novartis that gave\nthe go-ahead to \"develop and release the patches\"?\n\ncheers,\n\n\n\nm\n-- \n martin.langhoff@gmail.com\n martin@laptop.org -- School Server Architect\n - ask interesting questions\n - don't get distracted with shiny stuff - working code first\n - http://wiki.laptop.org/go/User:Martinlanghoff\n"},{"id":"91553","messageId":"alpine.LFD.1.10.0809242233360.14631@xanadu.home","threadId":"15657","inReplyTo":"20080924225120.GL10544@machine.or.cz","subject":"Re: On Sponsor Notices","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2008-09-25T02:36:41Z","receivedAt":"2008-09-25T02:36:41Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Thu, 25 Sep 2008, Petr Baudis wrote:\n\n>   Hi,\n> \n>   to follow up a little on the \"This patch has been sponsored by\n> Novartis\" messages - I have been on a summer internship at Novartis busy\n> deploying Git and these patches (still quite a few more to come, mostly\n> for gitweb) have been one of the main outputs of that work.\n> \n>   However, I'm not sure if acknowledging the Novartis-originated patches\n> in the log message like this is the best practice and we will understand\n> if the maintainers will decide to strip these notices when applying the\n> patches. Usually, this kind of acknowledgement is made by using\n> \"sponsored\" email addresses, however mine will probably stop working\n> shortly after I leave and the only way to read it is, shall we say,\n> utmostly inconvenient. ;-) Now, Shawn has proposed 'Sponsored-by:' line\n> at the header footer, which is also an interesting possibility.\n\nI'd suggest you do like some people working on the Linux kernel, i.e. \nuse your employer's email address for the Signed-off-by line but use \nwhatever address you prefer for the from/author line.\n\n\nNicolas\n"},{"id":"91555","messageId":"48DB2BE0.208@op5.se","threadId":"15657","inReplyTo":"20080924225120.GL10544@machine.or.cz","subject":"Re: On Sponsor Notices","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2008-09-25T06:12:48Z","receivedAt":"2008-09-25T06:12:48Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Petr Baudis wrote:\n>   Hi,\n> \n>   to follow up a little on the \"This patch has been sponsored by\n> Novartis\" messages - I have been on a summer internship at Novartis busy\n> deploying Git and these patches (still quite a few more to come, mostly\n> for gitweb) have been one of the main outputs of that work.\n> \n>   However, I'm not sure if acknowledging the Novartis-originated patches\n> in the log message like this is the best practice and we will understand\n> if the maintainers will decide to strip these notices when applying the\n> patches. Usually, this kind of acknowledgement is made by using\n> \"sponsored\" email addresses, however mine will probably stop working\n> shortly after I leave and the only way to read it is, shall we say,\n> utmostly inconvenient. ;-) Now, Shawn has proposed 'Sponsored-by:' line\n> at the header footer, which is also an interesting possibility.\n> \n\nI like the \"Sponsored-by\" idea. I work for a company that sponsors quite\na lot, and I thoroughly enjoy the idea that I can one day go to my boss\nand say \"hey, our company name is clearly visible here. We've sent this\nmany patches that got accepted upstream\", and that other companies can\nsee that too.\n\nAs for the legal S-o-b stuff, I'd say a combination like this:\nSponsored-by: Example <contact@example.com>\nSigned-off-by: Casper Intern (for Example) <random@real.com>\n\nshould work wonderfully. I know the guys holding the money like to see\nthe company name so it's a good thing to do to get a company to sponsor\ndevelopment further, while the S-o-b marks the person responsible for\nposting the patches to the project.\n\nJust my €0.02.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"91571","messageId":"20080925101558.GF10360@machine.or.cz","threadId":"15657","inReplyTo":"alpine.LFD.1.10.0809242233360.14631@xanadu.home","subject":"Re: On Sponsor Notices","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2008-09-25T10:15:58Z","receivedAt":"2008-09-25T10:15:58Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"On Wed, Sep 24, 2008 at 10:36:41PM -0400, Nicolas Pitre wrote:\n> I'd suggest you do like some people working on the Linux kernel, i.e. \n> use your employer's email address for the Signed-off-by line but use \n> whatever address you prefer for the from/author line.\n\nEven if the employer's email address is basically bogus? Can you point\nto some examples of Linux kernel patches doing that, please?\n\n\t\t\t\tPetr \"Pasky\" Baudis\n"},{"id":"91596","messageId":"alpine.LFD.2.00.0809251016420.3635@xanadu.home","threadId":"15657","inReplyTo":"20080925101558.GF10360@machine.or.cz","subject":"Re: On Sponsor Notices","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2008-09-25T14:20:23Z","receivedAt":"2008-09-25T14:20:23Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Thu, 25 Sep 2008, Petr Baudis wrote:\n\n> On Wed, Sep 24, 2008 at 10:36:41PM -0400, Nicolas Pitre wrote:\n> > I'd suggest you do like some people working on the Linux kernel, i.e. \n> > use your employer's email address for the Signed-off-by line but use \n> > whatever address you prefer for the from/author line.\n> \n> Even if the employer's email address is basically bogus? Can you point\n> to some examples of Linux kernel patches doing that, please?\n\nSee commit 6c3a158316.  If you send a mail to npitre@mvista.com at this \npoint, it most likely won't reach me.\n\n\nNicolas\n\n\n\n> \n> \t\t\t\tPetr \"Pasky\" Baudis\n> \n\n\nNicolas\n"},{"id":"91598","messageId":"20080925143252.GN10360@machine.or.cz","threadId":"15657","inReplyTo":"alpine.LFD.2.00.0809251016420.3635@xanadu.home","subject":"Re: On Sponsor Notices","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2008-09-25T14:32:52Z","receivedAt":"2008-09-25T14:32:52Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"On Thu, Sep 25, 2008 at 10:20:23AM -0400, Nicolas Pitre wrote:\n> On Thu, 25 Sep 2008, Petr Baudis wrote:\n> \n> > On Wed, Sep 24, 2008 at 10:36:41PM -0400, Nicolas Pitre wrote:\n> > > I'd suggest you do like some people working on the Linux kernel, i.e. \n> > > use your employer's email address for the Signed-off-by line but use \n> > > whatever address you prefer for the from/author line.\n> > \n> > Even if the employer's email address is basically bogus? Can you point\n> > to some examples of Linux kernel patches doing that, please?\n> \n> See commit 6c3a158316.  If you send a mail to npitre@mvista.com at this \n> point, it most likely won't reach me.\n\nHmm, perhaps that makes the most sense then. I'm not sure if Shawn\nalready applied my patches or which part of them - they don't see to be\npushed out yet. Shawn, if it's convenient for you, could you please\n\n\ts/This patch has been sponsored by Novartis.\n\nSigned-off-by: Petr Baudis <pasky@suse.cz>/Signed-off-by: Petr Baudis\n<petr.baudis@novartis.com>/ them?\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nPeople who take cold baths never have rheumatism, but they have\ncold baths.\n"},{"id":"91599","messageId":"20080925143509.GK3669@spearce.org","threadId":"15657","inReplyTo":"20080925143252.GN10360@machine.or.cz","subject":"Re: On Sponsor Notices","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2008-09-25T14:35:09Z","receivedAt":"2008-09-25T14:35:09Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Petr Baudis <pasky@suse.cz> wrote:\n> On Thu, Sep 25, 2008 at 10:20:23AM -0400, Nicolas Pitre wrote:\n> > \n> > See commit 6c3a158316.  If you send a mail to npitre@mvista.com at this \n> > point, it most likely won't reach me.\n> \n> Hmm, perhaps that makes the most sense then. I'm not sure if Shawn\n> already applied my patches or which part of them - they don't see to be\n> pushed out yet. Shawn, if it's convenient for you, could you please\n> \n> \ts/This patch has been sponsored by Novartis.\n> \n> Signed-off-by: Petr Baudis <pasky@suse.cz>/Signed-off-by: Petr Baudis\n> <petr.baudis@novartis.com>/ them?\n\nYup.  I only pushed them to my pu branch because I suspected\nsomething like this was going to happen.  ;-)\n\nOne filter-branch script coming up...\n\n-- \nShawn.\n"},{"id":"91679","messageId":"1abe3fa90809260631h59bcdf52t55a2e4e50f190ebe@mail.gmail.com","threadId":"15657","inReplyTo":"20080924225120.GL10544@machine.or.cz","subject":"Re: On Sponsor Notices","fromName":"A.J. Rossini","fromEmail":"blindglobe@gmail.com","sentAt":"2008-09-26T13:31:25Z","receivedAt":"2008-09-26T13:31:25Z","isPatch":false,"sender":{"key":"blindglobe@gmail.com","avatar":"https://gravatar.com/avatar/d9ce41197180da6d03ab12a6c3e9ff8a030b1677bca88ad65458c2f5566d8550?d=mp&s=160"},"body":"Petr -\n\nI should have been clear!   What I meant to say was that it would be\nnice to have things like our Novartis sponsorship in the README of\nprojects which are particular to the repository structure and client\nwhich we (well, you :-), developed, and make them available, but I'd\nnot be certain I'd like to have such acknowledgement entered into the\ngit development proper (I'd prefer to think that the changes would\nhave been made anyway, we just accelerated them -- however for the\ndirect project code (non-general), that clearly should have in a\nREADME (not license) sponsored by Novartis, as it's technically\npre-competitive (we'd love to hire people who in addition to quant and\nscience skills, know how to use it for statistical/mathematical\nmodeling, and/or improve it).\n\n(BTW, if anyone is interested in the possibility of a similar summer\nproject in Basel, working for a certain large multinational Pharma\ncompany, doing open source work, possibly around git or other\n\"information management projects\", please let me know -- we can take\non undergrads and grad students who know programming, mathematics, and\nstatistics, or just one of those disciplines -- it's not too bad, just\nask Petr).\n\n\nOn Thu, Sep 25, 2008 at 12:51 AM, Petr Baudis <pasky@suse.cz> wrote:\n>  Hi,\n>\n>  to follow up a little on the \"This patch has been sponsored by\n> Novartis\" messages - I have been on a summer internship at Novartis busy\n> deploying Git and these patches (still quite a few more to come, mostly\n> for gitweb) have been one of the main outputs of that work.\n>\n>  However, I'm not sure if acknowledging the Novartis-originated patches\n> in the log message like this is the best practice and we will understand\n> if the maintainers will decide to strip these notices when applying the\n> patches. Usually, this kind of acknowledgement is made by using\n> \"sponsored\" email addresses, however mine will probably stop working\n> shortly after I leave and the only way to read it is, shall we say,\n> utmostly inconvenient. ;-) Now, Shawn has proposed 'Sponsored-by:' line\n> at the header footer, which is also an interesting possibility.\n>\n> --\n>                                Petr \"Pasky\" Baudis\n> People who take cold baths never have rheumatism, but they have\n> cold baths.\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n\n\n\n-- \nbest,\n-tony\n\nblindglobe@gmail.com\nMuttenz, Switzerland.\n\"Commit early,commit often, and commit in a repository from which we\ncan easily roll-back your mistakes\" (AJR, 4Jan05).\n\nDrink Coffee:  Do stupid things faster with more energy!\n"}]}