Commit Graph

131 Commits

Author SHA1 Message Date
Marc Mutz
8eb4d52342 Port from qAsConst() to std::as_const()
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.

Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.

Task-number: QTBUG-99313
Change-Id: I88edd91395849574436299b8badda21bb93bea39
Reviewed-by: hjk <hjk@qt.io>
2022-10-07 13:47:53 +00:00
Alessandro Portale
928a7d2087 Git: Convert to Tr::tr
Change-Id: I7fb1753109a9263c70c01713f5f4895db6b73662
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-10-06 12:32:58 +00:00
Jarek Kobus
eec0679234 VcsBase: Move RunFlags into separate header
It is going to be used outside of VcsCommand, too.
Use RunFlags enum as an argument to several functions
instead of unsigned.

Change-Id: I355c80a845a9b5982108fbde3412754392dce702
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-10-06 12:00:35 +00:00
Jarek Kobus
4e74e2aa03 GitClient: Replace rev-list command with QtcProcess
There is no need to use VcsCommand when NoOutput is passed.
Get rid of asyncUpstreamStatus().

Change-Id: Iae6869be9640c7662545906d28314ac47cd69e3d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-01 15:55:41 +00:00
Eike Ziller
04e50438eb Utils: Remove Utils::optional
Since we are now requiring macOS 10.14 we can remove our local
implementation of optional and use std::optional for macOS too.

Change-Id: I2bd018261b68da64f7f031a812045dd7784697e1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2022-09-01 06:58:04 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Jarek Kobus
60302debd7 Move ShellCommand into VcsBase plugin
Rename it to VcsCommand. Move also ShellCommandPage into
VcsBase plugin.

Change-Id: I335ac47e3090f2be497643ebcda0eaad2987ac81
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-01 14:33:06 +00:00
Jarek Kobus
89e7201048 VcsBase: Hide VcsCommand class
Make it an implementation detail.
Introduce VcsBaseClient::createVcsCommand() method instead
for instantiating VcsCommands.

Replace all occuriences of VcsBase::VcsCommand in public API
with Utils::ShellCommand.

Change-Id: Ie438cc3a5e867b3ee8f9e935b56b2f16ea453f8a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-07-13 16:01:28 +00:00
Jarek Kobus
0490e3426d ShellCommand: Merge VcsCommand::VcsRunFlags into RunFlags
Use ShellCommand class name in signal-slot connections.

Change-Id: Id50ee6887708558a2ba0972ece6c420b0be36f72
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-07-12 14:49:10 +00:00
Orgad Shaneh
b0d572789b Git: Fix assertion when upstream branch no longer exists
Change-Id: I5033d43571026ab0d9b8b94892b4075e130211be
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-02-11 09:50:09 +00:00
Eike Ziller
877bfa4056 Add FileSystemWatcher::clear()
Change-Id: I9f28e763c943a6d8c5cf3082755e64d7e4df7155
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-15 06:40:38 +00:00
hjk
ff57cb548d Vcs: Use more FilePath for file paths
Change-Id: I855cde65d034a9647972a7fddf1e8266d7ccfa88
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-08-02 14:40:33 +00:00
hjk
aa69415ac7 Git: Aspectify settings
Change-Id: I87dfeba360967cc77cc230811bcd9f67b3ea6e38
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-03-19 13:39:33 +00:00
Eike Ziller
f8ae051816 VCS: Fix build with Qt6
QStringRef is gone.

Task-number: QTCREATORBUG-24098
Change-Id: I38dd1602294fcabf5cf7c1553bcfd93f3c47b601
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-09-21 06:56:58 +00:00
hjk
43b658e9e7 Utils: Drop Utils::SkipEmptyParts again
We require Qt 5.14 nowadays.

Change-Id: Iff245257d3cb19207007c0445ee13814e66152dd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-21 12:42:27 +00:00
hjk
1c81a3b3e8 All: Use Utils::SkipEmptyParts
Task-number: QTCREATORBUG-24098
Change-Id: Iab45de9a9c17ddc39a0e343b1175d4f6cb94b098
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-06-17 05:55:25 +00:00
Orgad Shaneh
af455fa40c Git: Fix upstream status for branches with slash
Like wip/foo

Change-Id: Ia2816660f7878e872b2e49c4811f5893a1b8dc75
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-05-19 14:06:48 +00:00
hjk
a09a563280 Git: Remove unused BranchModel::client()
Change-Id: I6465360d73b1d7580a922b295965d3c836d54ebe
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-03 07:15:05 +00:00
Alessandro Portale
24a25eed14 Use isEmpty() instead of count() or size()
Change-Id: I0a89d2808c6d041da0dc41ea5aea58e6e8759bb4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-20 20:56:57 +00:00
Andre Hartmann
da6972e0a9 Git: Update current branch after some operations
... to refresh the branch view upstream status.

No need for a full model update here, only the current
branch is influenced.

Change-Id: I6bd17a841988b36221e5015a5858071d33a7b5e5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-27 11:51:45 +00:00
Andre Hartmann
df42399102 Git: Use constants for branch view columns
Change-Id: Ia2e7b18c5f7d62b545c8f754b40d4d54b40aa199
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-27 11:21:21 +00:00
Andre Hartmann
4c5cf6bc86 Git: Update status on upstream change in branch view
When a new tracking branch was selected, the
branch view  still showed the old ahead/behind
information.

Change-Id: Ic4a201da0ec38788a02ef03770a30cca6528ceb3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-27 09:23:53 +00:00
Andre Hartmann
31e9c93b6b Git: Show upstream status for tracked branches
The Branch View now shows how many commmits
a branch is ahead and behind its tracking
branch.

Example:

  master ↑1 ↓15 [origin/master]

Change-Id: I9564efdfe82154cd98b9856313170aacad036f0c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2019-12-24 08:12:03 +00:00
hjk
251287f0d3 Avoid warning on empty expressions
For some reason, Q_UNUSED includes already a semicolon, adding one
on the user side creates an additional empty statement.

Change-Id: I9c5e8fac381345a60792cb75e2938fd53958d3b0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-23 11:55:59 +00:00
Orgad Shaneh
a1ba347fa5 Git: Fix popping of branch-stash after checkout
Checking out a branch that has a saved stash, when
Pop branch stash is checked, is broken since checkout
became asynchronous.

We must wait for checkout to complete before popping
the branch stash.

Change-Id: Ia4d43649e742ced0121ffe106986b4d6ed1e7b38
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2019-07-01 19:57:02 +00:00
Orgad Shaneh
1888e52d7c Git: Show at least 5 entries in Branches even if they're old
Fixes: QTCREATORBUG-22372
Change-Id: Ia4e0477a4e810c3c922cebbad1e44d295abca524
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-05-09 07:47:05 +00:00
Orgad Shaneh
b374086624 Git: Move parseOutputLine to BranchModel::Private
Change-Id: I885a0f6c6848b63bca0cb3047b28c984087f0bc8
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2019-05-06 06:19:40 +00:00
Orgad Shaneh
6595a161fc Git: Fix CppCheck warnings in BranchModel
Change-Id: I8c9fa0bff6e33675ad2a72176c4640f4dca3d51b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2019-05-06 06:19:31 +00:00
Orgad Shaneh
2a8c48cb15 Git: Track external changes to HEAD
Fixes: QTCREATORBUG-21089
Change-Id: Ifcbefd4f57bfdb5c726eced194076503c1dcb497
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-01-09 12:39:01 +00:00
Orgad Shaneh
92431932e3 Git: Show detached HEAD in branches view when applicable
Fixes: QTCREATORBUG-21311
Change-Id: Ia4297d23a965d83ea2814bd1e41f35a3017b8e9b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-11-12 09:48:25 +00:00
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
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
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
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
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
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
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
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
Orgad Shaneh
7d3a79c696 Utils: Purge asConst
Replace by qAsConst.

Change-Id: I3301366f73c066c86f08df7188d70dc3b613c55c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-04-09 09:04:00 +00:00
Orgad Shaneh
b30b4f8a11 Git: Fix inline nested branch rename
We can't just change the node name. A branch named foo/bar can be
renamed to baz/yyy. We have to refresh the model after rename.

Change-Id: Id9dfaa15b9e0384668223ae746376025267f89a3
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-03-26 20:38:03 +00:00
Orgad Shaneh
5736ef2c54 Git: Improve detection of nested local branch
If the current branch was foo/bar it was not detected correctly.

Change-Id: Ic030a6f4659801c6da2716c272a418c89585e22f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-03-26 20:37:58 +00:00
Orgad Shaneh
8478e35384 Git: Minor cleanup in BranchModel
* Use member initialization
* Use nullptr
* Remove unneeded local var

Change-Id: Ibca6c3bc5caf9e028166b833ba1ed9fc165e290b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-03-26 20:37:49 +00:00
Tim Jenssen
2631ffabd5 Remove spaces in initializer lists
Format initializer lists code style like.

Change-Id: Ib82c235e4ba7dc75ee96a7abc0c47eff7b0a9013
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:25:09 +00:00
Orgad Shaneh
e366e135b7 Git: Eradicate Q_FOREACH loops
Change-Id: I29b6071ea244d1b3ae0701d36c90b1e93cf21fbb
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
2017-02-06 09:37:44 +00:00
Orgad Shaneh
cfc8ed41c7 Git: Some more QStringList cleanup
Change-Id: I0c6e8f768ee46985dab8ae14f88f2bc8d34fed26
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2016-08-15 07:30:06 +00:00
Orgad Shaneh
516161c875 Git: De-noise
* Remove QLatin1{String|Char} where possible
* Use initializer lists for QStringList

Change-Id: I8479f87f4fc909b5d74d854956885564209538e4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-07-22 10:12:59 +00:00
Orgad Shaneh
c125fbbe97 Git: Refix filtering of obsolete branches when adding a branch
It was fixed in 62c60c6d1c but broke again
by 04eb012267.

Task-number: QTCREATORBUG-16264
Change-Id: I1130d5c2eda3320714913570441499be0d55c8fe
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2016-07-17 18:12:21 +00:00
Orgad Shaneh
3d63136836 Git: Show date and time for newly created branches
Task-number: QTCREATORBUG-16484
Change-Id: I18b262d2d03f6a793123cc655f415a1d46d1a4e3
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-06-23 13:05:23 +00:00