Commit Graph

2221 Commits

Author SHA1 Message Date
Orgad Shaneh
7c25d1a895 Git: Pass only files after -- on Blame
It works, but is likely to break at some point.

Change-Id: I97952a7cb6cd3569adc694db7537fab807bda0ea
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-14 14:01:53 +00:00
Orgad Shaneh
967e8cf260 Git: Respect text encoding in project settings on diff
Fixes: QTCREATORBUG-21794
Change-Id: Ib4be9811c0ab1cba5cad4adbfe740a6d99f420d1
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-14 11:21:17 +00:00
Orgad Shaneh
8c1cd7539c Git: Fix removing nested files
* Add -- before file list on add/remove.
* Run in the correct directory.

Fixes: QTCREATORBUG-27405
Change-Id: Ie04cd19981dac465cf70dba8b089fd18a4ecdf8b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-11 15:32:13 +00:00
Orgad Shaneh
d2160e8b4f Git: Fix adding existing files in nested directories
Amends 48c56416f5.

Fixes: QTCREATORBUG-27644
Change-Id: I4ef58c017e4fcf8fa48905f7e0b649433b3cac0f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-11 15:31:54 +00:00
Orgad Shaneh
82b2b2cae9 VCS: Fix misuses of parentDir().absolutePath()
absolutePath() *is* the parent directory.

Change-Id: I59f2c4ae65b265270d432f381258b95c65e53581
Reviewed-by: hjk <hjk@qt.io>
2022-10-11 13:49:50 +00:00
Orgad Shaneh
7c623f99d8 Git: Fix pattern for commit hash matching
* Avoid matching mid-word.
* Avoid matching after "mode ".
* Change to raw string literals.

Fixes: QTCREATORBUG-24768
Fixes: QTCREATORBUG-28268
Change-Id: I68abbf3de7928c60e0fe2d944adedaa6db94b1a4
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-10-11 10:00:53 +00:00
Jarek Kobus
93dfa93b7d VcsCommand: Simplify ProgressParser
Get rid of abstract base ProgressParser and replace
it with ProgressParser function. The only one former
subclass GitProgressParser is now functor object.
Pass future interface directly to the ProgressParser
function, along with input text to be parsed.

Change-Id: Icbcf0b6e55097f8b38eb8a32ceaa4414723116d0
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-10-07 14:52:14 +00:00
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
Robert Löhning
fcb79ee810 Git: VcsBase: Squish: Make tst_git_local run again
Amends 1548eef10b
Amends 69f4cb86dd
Amends 9ad5c4254d
Amends e070d826e5

Change-Id: I584b1b9b662144899d0292b887e8cb3386f80d4b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-07 08:33:12 +00:00
Christian Kandeler
708b119473 Git: Fix include directive
Change-Id: I35aff37fff00f020044c84ef288234146ebd5ade
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>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-10-07 04:29:29 +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
Robert Löhning
729805e7fd Git: Restore object names for dialog
Amends ffcf85958f

Change-Id: Ia48b114137d722df5f72add818d5729adff94110
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-06 07:48:45 +00:00
Jarek Kobus
64db0009d5 VcsManager: Use more FilePath
Change-Id: I255372c47e6d3ea55e5f8060c3c2fdd9bd155c75
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-10-05 18:25:33 +00:00
Jarek Kobus
f4233a1c22 VcsCommand: Change the default logic for fully sync
Remove VcsCommand::FullySynchronous flag.
Rename VcsCommand::NoFullySync into UseEventLoop.
By default the command will run fully synchronous
(i.e. without nested event loop). Only when
UseEventLoop is specified, and the command runs in
main thread, the nested event loop will be used.

This change should preserve the current behavior
on all code paths.

Change-Id: Id4bbaf68402ceed5e3fcc6f294521e87eb0b8d4d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-10-05 17:10:04 +00:00
Jarek Kobus
c666c93882 VcsBasePlugin: Use more FilePath
Change-Id: I7bc80245b093b210439efdf3ea353b52b288dcc0
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-10-04 11:51:20 +00:00
Jarek Kobus
604730f14d CleanDialog: Use more FilePath
Change-Id: Id545b8c412d55d8e1976cbe0bbdad36e22eb93a0
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-10-02 19:04:58 +00:00
Jarek Kobus
8a645e8a1d GitPlugin: Limit the usage of qMakePair
Change-Id: I9a164d951c43a9fc30bbdfffada22d9876d35e3f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-30 12:27:12 +00:00
Jarek Kobus
738803a4da Various plugins: Limit the usage of qMakePair
Change-Id: I9113dd47fb4f9026f3a732aebbd0aee31651b727
Reviewed-by: hjk <hjk@qt.io>
2022-09-30 10:17:47 +00:00
Jarek Kobus
460f347757 VcsBaseEditor: Get rid of diffChunkApplied()
Drop unused arg from diffChunkReverted().

Change-Id: I5531645d317d62ae92cd0e63dadd583f8ab8996d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-29 15:15:38 +00:00
Jarek Kobus
b67c868f75 PatchTool: Introduce PatchAction enum
Add static PatchTool::confirmPatching() and reuse it
in two places.

Use Tr::tr() inside PatchTool.

Change-Id: I70779619dbb58ab6e46a585bbeff51588ccb2f53
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-29 15:15:30 +00:00
Jarek Kobus
38b19bfae6 DiffEditor: Cleanup includes
Change-Id: Id8127b9b0c99ee2a0d5d367cb551a1d5779c5d38
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-29 15:15:12 +00:00
Jarek Kobus
29ecc7b5dd VcsCommand: Rename execute() to start()
In order to conform to QtcProcess API.

Change-Id: I71fcc03846f32cd3c2df39824ce3f6730c20ebbb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-21 05:33:46 +00:00
Jarek Kobus
b795bd8042 VcsPlugin: Use VcsCommand::done() signal instead of finished()
Conform to QtcProcess interface. Use result() when needed.

Change-Id: Idd4c71d9a103e8649b08ec7787c2f286423a31ec
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-20 10:41:35 +00:00
Jarek Kobus
012de6b4c3 PushHandler: Use cleanedStdErr()
Instead of connecting to stdErrText() signal.

Change-Id: Ib9fb94ca3fb0b5cbf4871e0ea3b06a047c31d272
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-20 10:41:06 +00:00
Jarek Kobus
d78ccc30cb ConflictHandler: Use cleanedStdOut() and cleanedStdErr()
Instead of connecting to stdOutText() and stdErrText() signals.

Change-Id: I3a90fe2a6b17eb804dbd67691a4685e236232456
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-20 10:29:51 +00:00
Jarek Kobus
eda8a4244f GitBaseDiffEditorController: Use cleanedStdOut()
Instead of connecting to stdOutText() signal.

Change-Id: Ia9d1d38934e254a8824620947a409fc52f7f531f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-19 10:31:45 +00:00
Jarek Kobus
2f093aec66 GitPlugin: Drop unneeded namespace specifiers
We have using namespace in this file.

Change-Id: I6e9f1259c917c446e52c5e407ec2139cc29c7216
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-06 15:09:49 +00:00
Jarek Kobus
b04b24ca81 GitGrep: Use QtcProcess instead of VcsCommand
Originally VcsCommand was created in main thread,
while VcsCommand::runCommand() has been called
in worker thread. Fix it by using QtcProcess
directly in worker thread.

Change-Id: I65f3476c0b89466c4347b0469e4cbad89c09072d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-06 14:13:42 +00:00
Jarek Kobus
a9eb732ce6 FileSearchResult: Use FilePath for fileName
This saves about 2 seconds out of 5 seconds spent in
displayResult() for converting from QString into
FilePath in main thread (use case: gitgrep with
2 million hits).

Change-Id: I6334e8559986501c34c90a5c7c6b4acc9a6953e0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-09-06 07:02:15 +00:00
hjk
1567d24980 Utils: Replace PathChooser::{fileP,p}athChanged signals
... by a new PathChooser::textChanged signal.

They were both emitted in reaction to the underlying line edit's
textChanged() signal.

Use 'textChanged()' as name to mimic/match the Qt side. This also
makes it more clear on the user code side, when this happens.

Some textChanged() consumers should probably use editingFinished()
instead, but that's left for later changes.

Change-Id: Ib07347f616cbf1c5d09bc2f8671ca860d185d1f9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-06 05:01:51 +00:00
Jarek Kobus
9087547eaa GitGrep: Don't pass SuppressFailMessage with SilentOutput
SilentOutput defines SuppressFailMessage already.

Change-Id: I80761ed2041f809968890464573863c47b3fac84
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-05 09:14:06 +00:00
Jarek Kobus
6d6346044c VcsBase: Rename vcsFullySynchronousExec into vcsSynchronousExec
Get rid of original vcsSynchronousExec(), as it was calling
vcsFullySynchronousExec().

Change-Id: I911dc786d54c34c211d03661c37df9b58d60a20b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-02 13:46:12 +00:00
Jarek Kobus
6f3c03f1f9 GitClient: Replace for-each-ref command with QtcProcess
There is no need to use VcsCommand when NoOutput is passed.
Get rid of asyncForEachRefCmd().

Change-Id: I91b2226c365c7ce374eccc4884aba7aab5158cb2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-01 16:35:51 +00:00
Jarek Kobus
66bfdffe0c GitClient: Replace describe command with QtcProcess
There is no need to use VcsCommand when NoOutput is passed.
Get rid of execBgCommand().

Change-Id: I58354e99ddc0c4049325560022ba6e755092b817
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-01 16:35:41 +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
Orgad Shaneh
45aa6a12c4 Git: Support user configured comment character
Task-number: QTCREATORBUG-28042
Change-Id: I96aea27434ba138637728a7fd7d1450e1eee260a
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-08-26 10:41:27 +00:00
Jarek Kobus
a50afa486a VcsCommand: Remove unused SshPasswordPrompt
Change-Id: I402d619656d8339b1e81bc9ae96acf56178505d2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-26 08:36:34 +00:00
Eike Ziller
025bdfe702 VCS: Use qtcEnvironmentVariable* instead of qEnvironmentVariable*
And instead of qgetenv.
Takes Qt Creator's setting at "Environment > System > Environment" into
account, which makes it easier on some platforms to set them (e.g.
macOS), can be configured differently in different settings paths, and
potentially can be changed at runtime (depending on usage).

Change-Id: I364e5b663353f37121279a58f4a9fd514cddbbf0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-26 08:03:01 +00:00
Jarek Kobus
278589a014 GitClient: Reuse VcsCommand::NoOutput
Change-Id: If30d78a34ae77a7397af6374f8b733809ecaab20
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-26 06:38:38 +00:00
David Schulz
c10f23a5c6 Git: add shortcuts to uncommitted changes dialog
Change-Id: Ifde8158b7902fb6a280545349ab8d8c0a723782c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-26 06:05:12 +00:00
Orgad Shaneh
4cf75c78ac Git: Minor cleanup in GitSubmitEditorWidget
Accept CommitData struct instead of passing most of its members separately.

Change-Id: I04b3b7ea0c02d12cae87e42d44af3808722b6371
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-08-19 08:01:58 +00:00
hjk
ffcf85958f Git: inline changeselectiondialog.ui
Change-Id: I7f4758119623559cec4f1b91a305d3ad55fe55dc
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-05 13:15:35 +00:00
Christian Stenger
391f72ad57 Git: Fix extra token
Amends 9ad5c4254d.

Change-Id: Iaa72752449df47e745d4fb2f0fae693228a5c047
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-05 13:12:40 +00:00
hjk
7070e89904 Git: inline remote*.ui
Change-Id: Idb394e69d3976877d091a5cf65a3babfbafe9e6b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-05 11:52:14 +00:00
hjk
9ad5c4254d Git: inline gitsubmitpanel.ui
Change-Id: Ib6ba5a6c44d413a13300a28ffb575db5799a9927
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-05 11:52:10 +00:00
hjk
24822f96ae Git: inline stashdialog.ui
Change-Id: I3665fcf7622c45d1aef3dacae936252a4f73d32f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-05 09:57:08 +00:00
hjk
4cf40b2456 Git: inline branchcheckoutdialog.ui
Change-Id: I105f63dd7ae0110ecb0afbd13ff70027fb9431b1
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-05 09:56:55 +00:00