Commit Graph

1843 Commits

Author SHA1 Message Date
Orgad Shaneh
1ef39405a4 Git: Pimpl BranchModel
Change-Id: I18b7fae8b47b449cf1f049a466efb6a1fbb7e522
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-11-11 11:57:52 +00:00
Alessandro Portale
3b6f45a7a3 Git: Modernize
modernize-use-using
modernize-use-default-member-init
modernize-use-equals-default

Change-Id: Iaccd5611cfc2056d357a0545f8522f02d6f8f0ed
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-11-10 21:03:01 +00:00
Orgad Shaneh
96529a27c5 VCS: Add reason text when submit validation fails
Change-Id: If4c8d5d1d5dc5386e49b29be59786dc53cfaaaa3
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-11-10 16:05:05 +00:00
Eike Ziller
3666e3aaeb Merge remote-tracking branch 'origin/4.8'
Conflicts:
	tests/unit/unittest/unittest.pro

Change-Id: I4f0ab05f96ee60900a3a35fad4c7331238367593
2018-11-09 13:30:40 +01:00
Andre Hartmann
077953b923 Git: Forbid local renaming for date column
Renaming the date doesn't make sense.

Amends a82dd10518

Change-Id: I2eea83572e3bf69633a6f154a3648b34cf93707f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-11-06 11:52:36 +00:00
Eike Ziller
1473bc5891 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/debugger/debuggermainwindow.cpp
	src/plugins/qbsprojectmanager/qbsbuildstep.cpp
	src/plugins/winrt/winrtdevicefactory.cpp
	tests/unit/unittest/gtest-creator-printing.cpp
	tests/unit/unittest/gtest-creator-printing.h
	tests/unit/unittest/unittest.pro

Change-Id: Ie9b80b87a8a4fa81baf72a2daa7919b21371c15e
2018-11-06 09:20:00 +01:00
Orgad Shaneh
7d888d58fc Git: Add accelerators to branches context-menu
Change-Id: Ife79519fbd5b006838b09a3d45bd44461aec8d59
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-11-05 19:55:11 +00:00
Orgad Shaneh
a82dd10518 Git: Enable renaming local branches by direct editing
Change-Id: I7edab94d949a6e48642f280af52fd156c803cafb
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-11-04 20:37:44 +00:00
Andre Hartmann
44205a961e Git: Add push to branch view
Allows pushing the selected local branch to any remote branch.

Change-Id: I6fb9ee8e1659070c1c759fe64b713fb2235c8816
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-28 17:33:30 +00:00
Orgad Shaneh
8278b4a24d Git: Remove wrong soft assertion
There is no restriction of renaming the current branch.

Change-Id: I51f3f8d69d1fb108a23a9e9f98364361828531d3
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-10-28 11:51:52 +00:00
Orgad Shaneh
ce15a0f447 Git: Fix detection of current selected index
Comparing the row is not enough. Row is relative to the parent, so the
second row in locals was wrongfully considered identical to the second row
in a remote.

This amends commit 299c777c01.

Change-Id: I4c5e43e3107a1f01bbed7abf9b7e2a2d3feb4feb
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-10-28 11:51:33 +00:00
Orgad Shaneh
fe87339888 Git: Fix resolving top level for non-existent sub-sub-directory
When a directory is renamed, and it has sub{sub-}*directories, executing
git blame on a file in the subdirectory -> Blame Revision (or parent) for
the file in the previous name -> Show failed because it couldn't determine
the top level directory.

You can test by opening qmakeprojectmanager/wizards/filespage.cpp and
blaming one of the lines that had it as qt4projectmanager/...

Change-Id: I7ac964c12f1f368c5ce92e9bedd972a2bc824935
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-10-25 17:52:28 +00:00
Orgad Shaneh
618d8e02d1 GitEditor: Fix resolving of working directory for non-existent source
Change-Id: Ie92be6b0aa6816b5c3a2bfed4a89163f2260d12b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-10-25 08:27:05 +00:00
Robert Loehning
84679827ae Git: Move HTML out of translated string
Change-Id: Ib386531b45ddfcc087472602b5a8019796c7ec03
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-22 16:19:47 +00:00
Andre Hartmann
322dcadf73 Remove ancient TODO file
Change-Id: I72343901c730cc7c573a784015453c3f50976df2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-21 08:17:19 +00:00
Orgad Shaneh
a9ac438ad8 Git: Add quick filter for branches panel
Change-Id: Idef4ab2db69f24bb004c00fa010b814fdaa7d56d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-10-18 12:26:26 +00:00
Andre Hartmann
4e0f14b8a5 BranchView: Add ellipsis to rename and remove action
Both open a new dialog to perform the action.

Change-Id: Ie93b99b1ff64927de24de49cd5e30ee729d749b2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-10-18 08:16:23 +00:00
Andre Hartmann
299c777c01 Git: Fix context menu actions in BranchViews second column
m_branchView->indexAt(point) returned another model index
[column 1] than m_model->currentBranch() [column 0], if the
context menu was requested in thesecond (date/time) column.

The failed comparison then gave a lot of invalid actions
(like merge) for the current branch.

Change-Id: Icefc084c81f9b573cd151460db793d3c5a01eb2b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-13 16:36:14 +00:00
Andre Hartmann
81a4c1d934 Git: Simplify conditions in BranchView
index.isValid() is already checked in line 165,
so it does not need to be checked afterwards
because it is always true there.

isLeaf is only used once, so join the assignment.

Change-Id: I5f21486fd440b82d8e99be1248adf023da664c1e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-13 16:34:22 +00:00
Orgad Shaneh
4c27b0e6e7 Git: Disable merge tool execution for vimdiff
vimdiff requires a terminal, which is not supported in Qt Creator.

Fixes: QTCREATORBUG-21147
Change-Id: I6168ac9c4a03061a64a1699fca6f39c90df5168b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-10-11 10:42:19 +00:00
Orgad Shaneh
762fb5c353 Git: Make checkout asynchronous
It can be slow when many files are replaced.

Change-Id: I308698ef36973374f4526107fbda0d9ad907e707
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-10-10 08:30:16 +00:00
Orgad Shaneh
86732dbdc0 Git: Use correct flags type in grep
Change-Id: Iebd65827518576b48ff8f401612baae8350fe6a3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-10-10 08:30:03 +00:00
Orgad Shaneh
c879a78c03 Git: Fix regexp substitution with multiple occurrences in line
If the line has multiple occurrences of the search pattern, all occurrences
got the same capture groups.

For example, text:
Foo(1); Foo(2);

Search for Foo\((.)\) and replace with \1, the result was:
1; 1

Change-Id: Idd4dc21397d5331b1e31a2860eca39d9bc407437
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-10-10 08:29:55 +00:00
Andre Hartmann
3177e53804 Git: Add support for github remotes
Github and gitlab uses a different syntax when cloning with ssh:

 git@github.com:qt-creator/qt-creator.git

Support this pattern for remote validatation also.

Change-Id: Ic67f2238b9cdd526e76715c86846542cdb73f503
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-07 15:44:01 +00:00
Andre Hartmann
96f982a016 Git: Check remote port for isValid in GitRemote
Change-Id: Iab922abcde0ac055417467f3c63a31dffa721986
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-07 15:43:39 +00:00
Andre Hartmann
0dfb2938ed Git: Add tests for GitRemote
Change-Id: Ia5e0c482afa7847f5ae8dae1b15d1dabfc908e32
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-07 15:01:10 +00:00
Andre Hartmann
e79d68dab6 Git: Improve local file detection in GitRemote
* Make sure url has a proper size before accessing
  its elements
* Also check for valid drive letter before ':'

Change-Id: I958cbd492caa8a6ad4a5bf424277d8287f8cf0d4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-02 19:42:18 +00:00
Orgad Shaneh
681297ad7e Git: Fix reading of gitfile
* QFile ctor does not open the file for read.
* Replace readLine with read(8) to avoid needless read.

This amends commit e9eeaf33b3.

Change-Id: I33c230497ad431091d7d6b271846f5af661b4e0d
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-10-01 19:21:39 +00:00
Orgad Shaneh
e9eeaf33b3 Git: Detect also gitfile in isVcsFileOrDirectory
Change-Id: Ic182407505fbcb9b5bd1768126885c4b06a30280
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-30 13:18:44 +00:00
Andre Hartmann
546956a302 Git: Allow creating a new repository from branch view
... when clicking "Add Branch" in a project that is not
under git version control.

The "Add Branch" serves no purpose here, so re-use it
to call this (already existing) function.

Done-with: Orgad Shaneh <orgad.shaneh@audiocodes.com>
Change-Id: Ib23d2cbeec0598e0b6f00cbde265793cc25e6142
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-30 05:37:09 +00:00
Andre Hartmann
017f4d7c4d Git: Add shortcut to "manage remotes" to branch view
Change-Id: I36d9196a41869176f8ad602f1ba406402fc5b77c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-30 05:36:53 +00:00
Orgad Shaneh
754fd66a0b Git: Suppress error messages for newly initialized repository
Change-Id: Ib7161e165fdf9cc2b1167b683e8e3dac17e0f1d6
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-29 16:51:45 +00:00
Orgad Shaneh
b3e2c580f2 Git: Fix return value of BranchModel::refresh
Return false if for-each-ref fails, and true if not applicable (this is not
an error).

Fixes: QTCREATORBUG-21189
Change-Id: I895046f8c15c30abeddaa8b4231fb4bd46c343ef
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-27 18:36:48 +00:00
Nikolai Kosjar
8b93eee3b1 Git: Double click on branch shows log
...instead of allowing to rename inline. Renaming can still be done with
the context menu.

Inspecting the log is a more common operation.

Change-Id: Idb3fb8fe01b6a5ae57a2eba09b27a36f677e566a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-27 14:15:40 +00:00
Eike Ziller
afb6538dc6 Merge remote-tracking branch 'origin/master' into 4.8
Change-Id: I99d7e3aa727316db2e4909be6c0ea7583b90c816
2018-09-21 10:19:34 +02:00
Orgad Shaneh
6296e7bb38 Git: Avoid usage of deprecated QDateTime::fromTime_t
Change-Id: I37ce617990ee385e37261624d847a0aef757d283
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-21 08:16:28 +00:00
Andre Hartmann
260750cc24 Git: Disable branch view if no git repository found
Also provide a proper label like the old branch dialog did.

Change-Id: I78490f66ccbc6bbc58117ea86030d7c1450f8329
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-20 04:42:32 +00:00
Orgad Shaneh
c415a03cea Git: Support move/copy detection for blame
Fixes: QTCREATORBUG-20462
Change-Id: Ib2ea14de6a60691a1ed27cd07aac282557d69015
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-19 20:16:23 +00:00
Orgad Shaneh
202d40f256 Git: Modernize
* Use auto
* Use override
* Use some member initializers

Change-Id: I3ca000d1c8e4d02331d58b85e68e4d771c636b29
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-19 19:47:07 +00:00
Orgad Shaneh
296ae92853 Git: Change pull to run asynchronously
Fixes: QTCREATORBUG-13279
Change-Id: Idee6e64e5eebe729e7c1d0e0135a1d8b464187b7
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-19 17:02:24 +00:00
Andre Hartmann
487e2f5d04 Git: Fix warning in branch model
Change-Id: Ia36c91bfc2cd738cf16548f5044b1535de39a88d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-16 20:24:32 +00:00
Andre Hartmann
8c8f166535 Git: Add fetch to branch view
Allow fetching from a single or from all remotes.

Change-Id: I2e0e69a092c3a8bb58f65af877c9af8bb59c92d9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-15 19:05:23 +00:00
Andre Hartmann
62072903b0 Git: Remove unneded qualification to Core
Change-Id: Ide8e7010410fe8184d9ef4dd37ddbf77ff5f1edf
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-15 17:55:05 +00:00
Andre Hartmann
fc36a0b5bd Git: Switch to edit mode when branch view is requested
The branch view is shown in the right side bar, which is
not visible in debug mode, for example.

Task-number: QTCREATORBUG-21088
Change-Id: If8fcab7a0b21d82534935bc555b79d1571d37633
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-15 17:54:52 +00:00
Andre Hartmann
758f9cfef7 Git: remove superfluous curly braces in branch view
Change-Id: I649c8835d5a4eb30d1f77cfd3e9da33fe017ec9f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-15 17:31:00 +00:00
Andre Hartmann
673d22b8e3 Git: Improve branch view reload icon
Change-Id: Iaef65946130ab35f4c9b25deabc5b8829975c8cf
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-15 17:29:15 +00:00
Andre Hartmann
bb6851632a Git: Inline BranchUtils in BranchView
It is the only user now, after the branch dialog was removed.

Change-Id: I3aa8409efeb52427cdc13799146c4aa87273b169
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-12 19:49:51 +00:00
Andre Hartmann
e543ef5eb1 Git: Replace branch dialog with branches side panel
This allows all kind of typical Git workflow (rebasing,
merging, cherry-picking) without having the branches dialog
on top of all windows.

Task-number: QTCREATORBUG-19618
Change-Id: Iab078d79a589ff60fa8385c98ec2a23b352c084c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-12 18:24:52 +00:00
Orgad Shaneh
760e6a9b13 Git: Fix launching of gitk when not in PATH
Tries the following:
* <git binary path>/gitk
* If git path ends with bin [or usr/bin, or mingw*/bin], try ../[../]cmd
* Search gitk in the PATH

Task-number: QTCREATORBUG-1577
Change-Id: I7f5e3d490bfeb527e2a5c1720126f1345e07eee0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-09-04 09:33:25 +00:00
Orgad Shaneh
767137157e VCS: Consolidate submit editor actions setup
Change-Id: I36754779b6a9aa35de705b368daf8c2a1de058c6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-08-28 07:26:14 +00:00