After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 702635 - Move items from gear menu to app menu
Move items from gear menu to app menu
Status: RESOLVED FIXED
Product: gitg
Classification: Applications
Component: gitg
git master
Other Linux
: Normal normal
: ---
Assigned To: gitg-maint
gitg-maint
Depends on:
Blocks:
 
 
Reported: 2013-06-19 10:49 UTC by Allan Day
Modified: 2015-08-08 15:32 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Allan Day 2013-06-19 10:49:04 UTC
Most of the items in the gear menu belong in the app menu - new window, user information, preferences, help, about, quit.

You don't need close - it's in the headerbar already as a button.
Comment 1 Ignacio Casal Quinteiro (nacho) 2013-06-19 10:51:04 UTC
true, the close menuitem should die now that we have the close button
Comment 2 Ignacio Casal Quinteiro (nacho) 2013-06-19 10:51:47 UTC
about the user information here we have a problem, we have 2 user information, one global which is set in the dash and another per repository which is set in the repository view
Comment 3 Ignacio Casal Quinteiro (nacho) 2013-06-19 10:52:27 UTC
should we move the global one to the app menu and keep the one in the repository?
Comment 4 Allan Day 2013-06-19 11:48:17 UTC
(In reply to comment #3)
> should we move the global one to the app menu and keep the one in the
> repository?

Makes sense, but they need to be differentiated somehow. The dialog for the repo specific information could be titled "<repository name> - Author Details". It could also have a checkbox for "Use global author details", which makes the fields insensitive.

And yes, I prefer "Author Details" to "User Information". :)
Comment 5 Ignacio Casal Quinteiro (nacho) 2013-06-19 15:33:45 UTC
Close removed
Comment 6 Sindhu S 2013-06-20 04:59:12 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > should we move the global one to the app menu and keep the one in the
> > repository?
> 
> Makes sense, but they need to be differentiated somehow. The dialog for the
> repo specific information could be titled "<repository name> - Author Details".
> 
> And yes, I prefer "Author Details" to "User Information". :)

This means we are looking at the context: Git user vs Commit Author

I do feel "Author Details" is more accurate. When I wrote the feature, I was thinking from the "Git user" context, hence the title.

> It could also have a checkbox for "Use global author details", which makes the
> fields insensitive.

IMO, a checkbox would introduce a bit complexity. 

This is how it works: The global git config is from ~/.gitconfig and that which is editable when in Dash View. The per-repo or local git config is from /path/to/repo/.git/config and that which is editable from History View. If you look at the code, based on whether we are in Dash or History view, we are loading the details 'Name' and 'Email'. 

Example: show_user_information_dialog(global_config, null);
	 show_user_information_dialog(repo_config, d_repository.name);

Now, suppose we do add a checkbox to the dialog. This checkbox has to appear only in dialog shown for per-repo config dialog (Can be done). Before we save the details, we have to check:

1. Are the details entered in the per-repo dialog are same as those available in global config?

1.1 What if global config doesn't exist?
1.1.1 Do we create a global config on behalf of the user?
1.1.2 Do we ignore and not save the checkbox preference?

1.2 If the per-repo config details are different from the global one, do we make the user known that we are writing to a different file the details?
Comment 7 Allan Day 2013-06-20 10:52:57 UTC
(In reply to comment #6)
...
> 1. Are the details entered in the per-repo dialog are same as those available
> in global config?
> 
> 1.1 What if global config doesn't exist?
> 1.1.1 Do we create a global config on behalf of the user?
> 1.1.2 Do we ignore and not save the checkbox preference?

Git is essentially broken if you use it without having configured the user details. I would add a mandatory first run stage which requires that you add your name and email, if they are not globally configured.
 
> 1.2 If the per-repo config details are different from the global one, do we
> make the user known that we are writing to a different file the details?

This is the purpose of the checkbox that I described - you need to be really clear that they are deviating from their global configuration.
Comment 8 jessevdk@gmail.com 2015-08-08 10:01:45 UTC
Entering global information has been moved to the app menu. The author details dialog also makes it quite clear now which config you are editing. What is still missing is in the repo author details dialog, whether the repo actually has a local user/e-mail configured or if it's coming from the global config. I agree with Allan here that a checkbox making this explicit is a very good idea.
Comment 9 jessevdk@gmail.com 2015-08-08 15:32:45 UTC
I've added the checkbox so users are now aware and have to explicitly override global author details.