[yast-devel] Temporary branches cleanup
Hi guys, I see we have several temporary branches in many YaST repos, for example in yast-storage-ng: SLE-12-SP2 tracked SLE-12-SP3 tracked SLE-15-GA tracked SLE-15-SP1 tracked feature/bsc-1123688 tracked feature/export-stray-blk-devices tracked feature/suma tracked master tracked missing-textdomain tracked parallel_rubocop_at_travis tracked pre-SLE-15-SP2 tracked rtl-pathnames tracked sle15_parallel_tests tracked stray_blk_dev_impl tracked suma_guided_setup tracked suma_proposal_devices tracked upstream/feature/partitioner-remember-tree-state tracked In this particular repo I would only expect to have: SLE-12-SP2, SLE-12-SP3, SLE-15-GA, SLE-15-SP1 and master. For other repos is even worst, for example yast-yast2: SLE-12-SP2 tracked SLE-12-SP3 tracked SLE-12-SP4 tracked SLE-15-GA tracked SLE-15-GA-1113732 tracked SLE-15-GA-registration-popup tracked SLE-15-SP1 tracked add_hostname tracked better_socket_support tracked bsc_1098919 tracked commandline-crash tracked drop_perl tracked drop_susefirewall_code tracked expanded_ids tracked fw-interfaces-read tracked ifconfig_parser tracked kill_logging_builtins tracked list_all_cards_in_fw tracked master tracked merge_SLE-12-SP3 tracked merge_SLE-12-SP4 tracked new_rubocop tracked no-xversion tracked openSUSE-10_0 tracked openSUSE-10_1 tracked openSUSE-10_2 tracked openSUSE-10_3 tracked openSUSE-11_0 tracked openSUSE-11_2 tracked openSUSE-11_3 tracked openSUSE-11_4 tracked openSUSE-12_1 tracked openSUSE-12_2 tracked openSUSE-12_3 tracked openSUSE-13_1 tracked openSUSE-13_2 tracked openSUSE-9_3 tracked readline tracked review_180109_double_entries tracked review_180125_checking_package_installed tracked review_180130_xvnc_socket_disabled tracked rubocop-0.59.2 tracked sorbet tracked sw_01 tracked systemd_table tracked unsigned_repo tracked Having all these temporary branches is not a big problem, but sometimes it is quite annoying when you run a "git fetch". What do you think about doing some cleanup in all YaST repos? I could extend my HW project [1] (still a WIP) to do it. It should be quite easy to add a new script to clean the repos. The good thing is that it is not necessary to locally clone the repos. With [1] we have the base to do it directly to GitHub thanks to Octokit [2]. CU, Iván [1] https://github.com/joseivanlopez/yast-dev [2] https://github.com/octokit/octokit.rb -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
José Iván López González <jlopez@suse.de> writes:
Hi guys,
Hi Iván,
I see we have several temporary branches in many YaST repos, for example in yast-storage-ng:
[..]
Having all these temporary branches is not a big problem, but sometimes it is quite annoying when you run a "git fetch". What do you think about doing some cleanup in all YaST repos?
I could extend my HW project [1] (still a WIP) to do it. It should be quite easy to add a new script to clean the repos. The good thing is that it is not necessary to locally clone the repos. With [1] we have the base to do it directly to GitHub thanks to Octokit [2].
We should be extremely careful to not remove a branch which is still being used. Think, for instance, about features branches like `network-ng` in yast2-network. Not to mention the branches of those people who (like me) do not use a fork to create a PR, but a branch in the original repo. In other cases, we could have some PoC in a separate branch which has not been updated in a while. We can discuss whether we should use branches in upstream repos to create our own PRs or not (I do, but I am open to discussion). Thinking aloud, I guess we could try to get a list of unexpected branches and a responsible for each of them to check whether they are still needed or not. BTW, nice Hack Week project :) Regards, Imo -- Imobach González Sosa YaST Team at SUSE LINUX GmbH https://imobachgs.github.io/ -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
V Wed, 10 Jul 2019 12:13:52 +0100 José Iván López González <jlopez@suse.de> napsáno:
Hi guys,
I see we have several temporary branches in many YaST repos, for example in yast-storage-ng:
SLE-12-SP2 tracked SLE-12-SP3 tracked SLE-15-GA tracked SLE-15-SP1 tracked feature/bsc-1123688 tracked feature/export-stray-blk-devices tracked feature/suma tracked master tracked missing-textdomain tracked parallel_rubocop_at_travis tracked pre-SLE-15-SP2 tracked rtl-pathnames tracked sle15_parallel_tests tracked stray_blk_dev_impl tracked suma_guided_setup tracked suma_proposal_devices tracked upstream/feature/partitioner-remember-tree-state tracked
In this particular repo I would only expect to have: SLE-12-SP2, SLE-12-SP3, SLE-15-GA, SLE-15-SP1 and master.
For other repos is even worst, for example yast-yast2:
SLE-12-SP2 tracked SLE-12-SP3 tracked SLE-12-SP4 tracked SLE-15-GA tracked SLE-15-GA-1113732 tracked SLE-15-GA-registration-popup tracked SLE-15-SP1 tracked add_hostname tracked better_socket_support tracked bsc_1098919 tracked commandline-crash tracked drop_perl tracked drop_susefirewall_code tracked expanded_ids tracked fw-interfaces-read tracked ifconfig_parser tracked kill_logging_builtins tracked list_all_cards_in_fw tracked master tracked merge_SLE-12-SP3 tracked merge_SLE-12-SP4 tracked new_rubocop tracked no-xversion tracked openSUSE-10_0 tracked openSUSE-10_1 tracked openSUSE-10_2 tracked openSUSE-10_3 tracked openSUSE-11_0 tracked openSUSE-11_2 tracked openSUSE-11_3 tracked openSUSE-11_4 tracked openSUSE-12_1 tracked openSUSE-12_2 tracked openSUSE-12_3 tracked openSUSE-13_1 tracked openSUSE-13_2 tracked openSUSE-9_3 tracked readline tracked review_180109_double_entries tracked review_180125_checking_package_installed tracked review_180130_xvnc_socket_disabled tracked rubocop-0.59.2 tracked sorbet tracked sw_01 tracked systemd_table tracked unsigned_repo tracked
Having all these temporary branches is not a big problem, but sometimes it is quite annoying when you run a "git fetch". What do you think about doing some cleanup in all YaST repos?
cleanup is fine for me. Automatic even nicer, just please ensure that it: 1. keep product branches. Maybe for no longer deleveloped version we can use tag instead of version, but who knows when so critical security bug appear, that we will need to release update even for no longer officially maintained product. 2. keep branch with changes against master. This should allow to keep various WIP branches or POC branches, that can be useful in future ( probably not, but who knows ). Josef
I could extend my HW project [1] (still a WIP) to do it. It should be quite easy to add a new script to clean the repos. The good thing is that it is not necessary to locally clone the repos. With [1] we have the base to do it directly to GitHub thanks to Octokit [2].
CU, Iván
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
On 7/10/19 2:46 PM, Josef Reidinger wrote:
V Wed, 10 Jul 2019 12:13:52 +0100 José Iván López González <jlopez@suse.de> napsáno:
Hi guys,
I see we have several temporary branches in many YaST repos, for example in yast-storage-ng:
SLE-12-SP2 tracked SLE-12-SP3 tracked SLE-15-GA tracked SLE-15-SP1 tracked feature/bsc-1123688 tracked feature/export-stray-blk-devices tracked feature/suma tracked master tracked missing-textdomain tracked parallel_rubocop_at_travis tracked pre-SLE-15-SP2 tracked rtl-pathnames tracked sle15_parallel_tests tracked stray_blk_dev_impl tracked suma_guided_setup tracked suma_proposal_devices tracked upstream/feature/partitioner-remember-tree-state tracked
In this particular repo I would only expect to have: SLE-12-SP2, SLE-12-SP3, SLE-15-GA, SLE-15-SP1 and master.
For other repos is even worst, for example yast-yast2:
SLE-12-SP2 tracked SLE-12-SP3 tracked SLE-12-SP4 tracked SLE-15-GA tracked SLE-15-GA-1113732 tracked SLE-15-GA-registration-popup tracked SLE-15-SP1 tracked add_hostname tracked better_socket_support tracked bsc_1098919 tracked commandline-crash tracked drop_perl tracked drop_susefirewall_code tracked expanded_ids tracked fw-interfaces-read tracked ifconfig_parser tracked kill_logging_builtins tracked list_all_cards_in_fw tracked master tracked merge_SLE-12-SP3 tracked merge_SLE-12-SP4 tracked new_rubocop tracked no-xversion tracked openSUSE-10_0 tracked openSUSE-10_1 tracked openSUSE-10_2 tracked openSUSE-10_3 tracked openSUSE-11_0 tracked openSUSE-11_2 tracked openSUSE-11_3 tracked openSUSE-11_4 tracked openSUSE-12_1 tracked openSUSE-12_2 tracked openSUSE-12_3 tracked openSUSE-13_1 tracked openSUSE-13_2 tracked openSUSE-9_3 tracked readline tracked review_180109_double_entries tracked review_180125_checking_package_installed tracked review_180130_xvnc_socket_disabled tracked rubocop-0.59.2 tracked sorbet tracked sw_01 tracked systemd_table tracked unsigned_repo tracked
Having all these temporary branches is not a big problem, but sometimes it is quite annoying when you run a "git fetch". What do you think about doing some cleanup in all YaST repos?
cleanup is fine for me. Automatic even nicer, just please ensure that it:
1. keep product branches. Maybe for no longer deleveloped version we can use tag instead of version, but who knows when so critical security bug appear, that we will need to release update even for no longer officially maintained product.
2. keep branch with changes against master. This should allow to keep various WIP branches or POC branches, that can be useful in future ( probably not, but who knows ).
Yes, I agree. We have to do it carefully (as Imo also mentioned in another reply). Maybe we can bring the discussion up during our next retro. Should we create temporary branches in upstream repos? Should we always remove them after merging? Or should we always use forks? I don't have a strong opinion about the branches for POC, but for daily work I would prefer to use forks and keep upstream as clean as possible.
Josef
I could extend my HW project [1] (still a WIP) to do it. It should be quite easy to add a new script to clean the repos. The good thing is that it is not necessary to locally clone the repos. With [1] we have the base to do it directly to GitHub thanks to Octokit [2].
CU, Iván
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
On 10/7/19 12:13, José Iván López González wrote:
Hi guys,
Hi!
I see we have several temporary branches in many YaST repos, [...]
[...]
Regarding this topic, past Friday I was doing the SLE-12-SP5 branching and I took the opportunity to remove (through the Github interface) all branches which were related to a merged or closed pull request. Namely, yast-autoinstallation module-config-builder-nil master-bsc-1138144 SLE-12-SP4-bsc-1134501 yast-core Code-11-SP3-bnc-1103076 clang yast-country master-bsc-1120957-2 review_171117_build_fix yast-devtools fix-929899 yast-dhcp-server SLE-15-GA-bsc-1108942 master-bsc-1108942-2 SLE-12-SP2-bnc-932331 yast-dns-server review_180604_merged_with_sles15 SLE-15-GA-bnc1093029 yast-auth-server update-desktop-files yast-bootloader update-desktop-files yast-alternatives update-desktop-files yast-online-update update-desktop-files yast-migration update-desktop-files yast-firewall fixes SLE-12-SP3-1119831 merge_SLE-12-SP4 move_things SLE-15-GA_wrong_bug_id master_bnc_1089855 review_180223_textdomain_added review_180219_fixed_rnc_file review_180104_ay_read yast-ftp-server master_bnc_1047232 SLE-12-SP3_bnc_1047232 yast-hardware-detection fix-bsc-903069-master yast-installation-control backport_mitigations added_test master-registration-popup feature/fate-325482-include-self-update-version-in-control-file yast-installation aschnell-patch-1 sw_03 SLE-12-SP5-bsc-1122303 feature/fate-325482-include-self-update-version-in-control-file feature/fate-325746 sp4_merge sle15_merge yast-instserver sw_01 yast-isns hardening yast-journal build_fix dialog query_refactor rubocop split_dialog_further yast-kdump aschnell-patch-1 yast-mail varkoly-patch-1 drop_perl_from_yast2 yast-migration aschnell-patch-1 yast-multipath SLE-15-GA-key fix_killing yast-ntp-client data_to_include yast-packager mock_arch offline_medium product-license-translation-m master-bsc-1132622-3 feature/port-changes-from-4.1.35 SLE-15-SP1-bsc-1077399 unify_labels SLE-15-GA-bsc-1105758 sle12sp3_bsc_1078323 yast-perl-bindings deprecate-yapi yast-python-bindings obs_docker yast-rdp GPL-2.0-only SLE-15-GA-key yast-registration message_update merge_sp3_fix SLE-15-GA_1043125 SLE-15-GA_bnc_1090911 update_changes review_180702_merge_sles15 selected_product try-base-regcode-first yast-s390 sw_02 sw_01 aschnell-patch-1 yast-samba-server aschnell-patch-1 SLE-15-GA-key yast-schema SLE-15-SP1-1128707-2 SLE-15-SP1-1128707 master-1108199-3 merge-sle-15-ga review_151008_is_opensuse review_151006_spec_is_opensuse yast-services-manager feature/test-and-refacor-import-export-methods respect_sockets SLE-15-GA-1113732 ay_x11_test yast-snapper merge_SLE-12-SP1 yast-sound bnc_845928 yast-testsuite dejagnu-16 ignore_includes yast-tftp-server feature/fix-service-start yast-theme alt-branding-sp1 master-link hardcoded-color yast-transfer fix_killing_12 yast-tune SLE-15-GA-key yast-update SLE-15-SP1-bsc-1136012 mount-run-during-upgrade yast-users master-bnc-1118617 SLE-15-GA-bnc-1118617 yast-yast2 new_rubocop merge_SLE-12-SP4 SLE-15-GA-1113732 merge_SLE-12-SP3 SLE-15-GA-registration-popup systemd_table better_socket_support expanded_ids yast-ycp-ui-bindings open-close-ui
Having all these temporary branches is not a big problem, but sometimes it is quite annoying when you run a "git fetch". What do you think about doing some cleanup in all YaST repos?
I could extend my HW project [1] (still a WIP) to do it. It should be quite easy to add a new script to clean the repos. The good thing is that it is not necessary to locally clone the repos. With [1] we have the base to do it directly to GitHub thanks to Octokit [2].
But, of course, to extend your HW project to do an automatic clean up is welcome :) as well as to reach a workflow agreement about how to manage the temporary branches: we could stop using the upstream repos or simply try to always delete no longer necessary branches.
CU, Iván
Regards. -- David Díaz González YaST Team at SUSE Linux GmbH
[...]
Namely,
yast-autoinstallation module-config-builder-nil master-bsc-1138144 SLE-12-SP4-bsc-1134501 yast-core Code-11-SP3-bnc-1103076 clang yast-country master-bsc-1120957-2 review_171117_build_fix yast-devtools fix-929899 yast-dhcp-server SLE-15-GA-bsc-1108942 master-bsc-1108942-2 SLE-12-SP2-bnc-932331 yast-dns-server review_180604_merged_with_sles15 SLE-15-GA-bnc1093029 yast-auth-server update-desktop-files yast-bootloader update-desktop-files yast-alternatives update-desktop-files yast-online-update update-desktop-files yast-migration update-desktop-files yast-firewall fixes SLE-12-SP3-1119831 merge_SLE-12-SP4 move_things SLE-15-GA_wrong_bug_id master_bnc_1089855 review_180223_textdomain_added review_180219_fixed_rnc_file review_180104_ay_read yast-ftp-server master_bnc_1047232 SLE-12-SP3_bnc_1047232 yast-hardware-detection fix-bsc-903069-master yast-installation-control backport_mitigations added_test master-registration-popup feature/fate-325482-include-self-update-version-in-control-file yast-installation aschnell-patch-1 sw_03 SLE-12-SP5-bsc-1122303 feature/fate-325482-include-self-update-version-in-control-file feature/fate-325746 sp4_merge sle15_merge yast-instserver sw_01 yast-isns hardening yast-journal build_fix dialog query_refactor rubocop split_dialog_further yast-kdump aschnell-patch-1 yast-mail varkoly-patch-1 drop_perl_from_yast2 yast-migration aschnell-patch-1 yast-multipath SLE-15-GA-key fix_killing yast-ntp-client data_to_include yast-packager mock_arch offline_medium product-license-translation-m master-bsc-1132622-3 feature/port-changes-from-4.1.35 SLE-15-SP1-bsc-1077399 unify_labels SLE-15-GA-bsc-1105758 sle12sp3_bsc_1078323 yast-perl-bindings deprecate-yapi yast-python-bindings obs_docker yast-rdp GPL-2.0-only SLE-15-GA-key yast-registration message_update merge_sp3_fix SLE-15-GA_1043125 SLE-15-GA_bnc_1090911 update_changes review_180702_merge_sles15 selected_product try-base-regcode-first yast-s390 sw_02 sw_01 aschnell-patch-1 yast-samba-server aschnell-patch-1 SLE-15-GA-key yast-schema SLE-15-SP1-1128707-2 SLE-15-SP1-1128707 master-1108199-3 merge-sle-15-ga review_151008_is_opensuse review_151006_spec_is_opensuse yast-services-manager feature/test-and-refacor-import-export-methods respect_sockets SLE-15-GA-1113732 ay_x11_test yast-snapper merge_SLE-12-SP1 yast-sound bnc_845928 yast-testsuite dejagnu-16 ignore_includes yast-tftp-server feature/fix-service-start yast-theme alt-branding-sp1 master-link hardcoded-color yast-transfer fix_killing_12 yast-tune SLE-15-GA-key yast-update SLE-15-SP1-bsc-1136012 mount-run-during-upgrade yast-users master-bnc-1118617 SLE-15-GA-bnc-1118617 yast-yast2 new_rubocop merge_SLE-12-SP4 SLE-15-GA-1113732 merge_SLE-12-SP3 SLE-15-GA-registration-popup systemd_table better_socket_support expanded_ids yast-ycp-ui-bindings open-close-ui
and skelcd-control-CAASP adapt_roles sp3_merge skelcd-control-SLED merge-sle-15-ga network_in_upgrade review_160525_autoyast_ssh_import review_170426_yast2_configuration_management sw_02 upgrade skelcd-control-SLES initialize-libzypp skelcd-control-SLE_RT merge_JeffreyCheung system-role-basic-desktop fhs-typo system-role-gnome-x11 fhs-typo system-role-ha fhs-typo system-role-hpc-compute fhs-typo system-role-hpc-server fhs-typo feature/324713-remove-partitioning-info-from-description system-role-kvm fhs-typo system-role-minimal-desktop fhs-typo system-role-real-time-text-mode JeffreyCheung-patch-1 system-role-text-mode fhs-typo system-role-xen fhs-typo
[...]
Regards.
-- David Díaz González YaST Team at SUSE Linux GmbH
On 10.07.19 13:13, José Iván López González wrote:
Hi guys,
I see we have several temporary branches in many YaST repos, for example in yast-storage-ng:
SLE-12-SP2 tracked SLE-12-SP3 tracked SLE-15-GA tracked SLE-15-SP1 tracked feature/bsc-1123688 tracked feature/export-stray-blk-devices tracked feature/suma tracked master tracked missing-textdomain tracked parallel_rubocop_at_travis tracked pre-SLE-15-SP2 tracked rtl-pathnames tracked sle15_parallel_tests tracked stray_blk_dev_impl tracked suma_guided_setup tracked suma_proposal_devices tracked upstream/feature/partitioner-remember-tree-state tracked
A lot of this could actually be avoided: - Create a branch in your own fork unless you need to work on the branch with several people, then you won't clutter the upstream repo with your working branch. - Always prefix your branches with your nick or user name so people at least know who to talk to. I always use "huha-something", even in my own forks and even in my 100% own repos. Make that a habit, and there is no confusion. - After the PR is merged, simply click on the "delete branch" link that GitHub offers you. Once it's merged, there is no need to keep it around; and it will stay around in your local checkout anyway until you do git fetch --prune or git remote prune myrepo Kind regards -- Stefan Hundhammer <shundhammer@suse.de> YaST Developer SUSE Linux GmbH GF: Felix Imendörffer, Mary Higgins, Sri Rasiah; HRB 21284 (AG Nürnberg) Maxfeldstr. 5, 90409 Nürnberg, Germany -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
Dne 12. 08. 19 v 15:42 Stefan Hundhammer napsal(a):
- After the PR is merged, simply click on the "delete branch" link that GitHub offers you. Once it's merged, there is no need to keep it around; and it will stay around in your local checkout anyway until you do
git fetch --prune
or
git remote prune myrepo
BTW GitHub still keeps the deleted branches internally, if needed you can just press the "Restore branch" button in the pull request to get it back. Or you can get the patch by adding the ".patch" suffix to the Pull request URL and apply it manually using "git apply" to a different branch. -- Ladislav Slezák YaST Developer SUSE LINUX, s.r.o. Corso IIa Křižíkova 148/34 18600 Praha 8 -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
participants (6)
-
David Díaz
-
Imobach González Sosa
-
Josef Reidinger
-
José Iván López González
-
Ladislav Slezak
-
Stefan Hundhammer