mob resetdoesn’t reset the mob branch anymore. It now warns you that it deletes the mob branch for everyone and if you want to continue do
mob reset --delete-remote-wip-branch.
mob donewill stop already running local timers.
mob start --createwill create the remote branch and start the mob session on that branch.
git-repowhich symlink the
MOB_START_INCLUDE_UNCOMMITTED_CHANGESenvironment variable (has been deprecated for some time).
MOB_DONE_SQUASHno longer supports a boolean value, you have to use the proper values
Thanks to @rustiever, @gulio-python, @freekk, and @sebsprenger for your contributions!
mob done --squash-wipwon’t fail if a previously committed file has uncommitted modifications.
MOB_TIMER_INSECURE=trueallows enterprises to use the timer.mob.sh companion service despite SSL issues.
Thanks to @gregorriegler and @JanMeier1337 for your contributions!
gitis not installed.
mob timeroutside of git repositories.
mob done --squash-wipnow successfully auto-merges auto-mergeable diverging changes.
-h) is present in the command, e.g.
mob s 10 -h.
mob startin case the wip branch diverges from the main branch.
falsein the environment variable or in the .mob configuration file.
Just a version bump.
MOB_GIT_HOOKS_ENABLED=true. And without output, the user doesn’t know what to input. And without input, mob waits indefinitely.
mob cleanfailed to delete an orphaned wip branch because of unmerged commits.
Thanks to @jdrst for making this release possible!
mob cleancommand that removes orphan wip branches that might be a left over of someone else doing a
mob done. This is especially helpful when using a lot of feature branches. If you call
mob cleanon an orphan wip branch, it will switch you to the base branch, falling back to main/master if the base branch does not exist.
squash-wipfor MOB_DONE_SQUASH can be set not only via env var, but now in the .mob configuration file as well.
Thanks to @hollesse and @thmuch making this release possible!
MOB_OPEN_COMMANDto a command which opens your IDE. For example, the open command for IntelliJ is
Thanks to @hollesse and @aryanfaghihi making this release possible!
mob done --squash-wip.
mob squash-wipin favor of new
mob done --squash-wip.
Thanks to @gregorriegler and @hollesse making this release possible!
MOB_GIT_HOOKS_ENABLED=true. By default, this option is false and no git hooks such as
pre-pushare triggered via mob itself.
.mobfile in your home directory. For an example have a look at
.mobfile in your git project root directory. The configuration options
MOB_NOTIFY_MESSAGEare disabled for the project specific configuration to prevent bash injection attacks. Thanks to @vrpntngr & @hollesse making this release possible as part of the @INNOQ Hands-On Event, February 2022.
export MOB_TIMER_ROOM_USE_WIP_BRANCH_QUALIFIER=truethe room name is automatically derived from the value you passed in via the
mob start --branch <branch>parameter.
mob break 5in combination with https://timer.mob.sh
mob done --no-squash
MOB_TIMER_ROOMthe local timer keeps on working. To disable the local timer altogether, please disable it via
MOB_TIMER_ROOMto the name of your team room and mob will automatically send timer requests to your team room. Mob now even supports breaks with
mob break <minutes>.
mobwill detect the new name and use that in its console output.
mob start -i. When the working directory is a subdirectory that would be removed due to
git stashthe mob tool will tell the user about this and aborts with an error.
mob versionfail when run outside of a git repository.
MOB_CLI_NAMEso you can use
team, or whatever you like best, instead of
mob. Just install the
mobtool, set an alias in your cli and set the environment variable
MOB_CLI_NAMEto the name of your alias.
mobtool on the console.
mob start --include-uncommitted-changesnow fails fast. That means, if
mobcan detect any issue preventing it to succeed, it will exit BEFORE calling
git stash. This will make error recovery much easier as one doesn’t have to think about applying any stashes by themselves.
mob nextdoes not show the same committer multiple times in the list of previous committers.
mob nextdoes not suggest the current Git user to be the next typist as long as there were other persons involved in the mob.
mob nextperforms a simple lookahead to also suggest persons who might have been absent only during the last mob round.
mob branchshows all remote mob branches currently available.
mob fetchfetches the remote state, so you have everything up to date locally. Helpful to combine with
mob branchwho don’t fetch by themselves.
mob startfails, the timer no longer starts to run.
mob squash-wipto squash any WIP commits in the wip branch into a following manual commit using
git rebase --interactivewith
mobas the temporary
MOB_WIP_BRANCH_PREFIXto configure the
mob/prefix to some other value.
mob <cmd>is run outside of a git repository.
mob startif there are unpushed commits
[skip ci]so that all the typical CI systems (including Azure DevOps) will skip this commit.
mob donethat corresponds to
MOB_DEBUGenvironment variable (has been deprecated for some time).
MOB_REQUIRE_COMMIT_MESSAGEwhich you could set to true to require a commit message other than the default one.
mob start --branch feature-1because feature-1 contained a dash.
mob doneto keep commits from wip branch.
MOB_DONE_SQUASHto configure the
MOB_DONE_SQUASH=falseis equal to passing flag
MOB_WIP_BRANCH_QUALIFIER_SEPARATORnow defaults to ‘-‘.
MOB_NEXT_STAYnow defaults to ‘true’.
mob start --include-uncommitted-changesare now shown on a separate line to allow double clicking to copy in the terminal.
MOB_WIP_BRANCH_QUALIFIERvia an environment variable instead of
--branchparameter. Helpful if multiple teams work on the same repository.
MOB_WIP_BRANCH_QUALIFIER_SEPARATORvia an environment variable. Defaults to ‘/’. Will change to ‘-‘ in future versions to prevent branch naming conflicts (one cannot have a branch named
mob/mainand a branch named
mob/maincannot be a file and a directory at the same time).
MOB_NOTIFY_COMMANDto an empty string.
mob confignow shows the currently used
mob next --message "custom commit message"as an option to override the commit message during
-r) to return to base branch on
mob next. Because ‘mob’ will change the default behavior from returning to the base branch to staying on the wip branch on
mob next, this flag provides the inverse operation of
--stay. If both are provided, the latter one wins.
-ias a shorthand notation for
mob startto work when on an outdated the WIP branch
mob nextpush if there are commits but no changes.
mob start --branch <branch>to allow multiple wip branches in the form of ‘mob/
mob moo(Thanks Niko for the idea)
MOB_DEBUGin favor of the parameter
MOB_START_INCLUDE_UNCOMMITTED_CHANGESin favor of the parameter
mob starton a branch named
feature1will switch to the branch
mob/feature1and will merge the changes back to
mob done. For the
mob-sessionbranch will still work (but this may change in the future, switching to
mob/masterat some point).
mob statusadded. Thanks to Jeff Langr for that contribution!
MOB_NEXT_STAYset to any value (including empty value) falsely activated their respective option.
mob startwhen joining a mob session. It uses
git checkout -B mob-session origin/mob-sessionto override any local
mob-sessionin the process. It reduces the amount of commands necessary and makes the mob tool more predictable: the
origin/mob-sessionalways contains the truth.
mob sharecommand. You can still enable the zoom integration via
mob start 10 sharealthough this is now DEPRECATED and will eventually be removed in the future.
mob startprints out untracked files as well
mob start --include-uncommitted-changesnow includes untracked files in the stash ‘n’ pop as well
mob confwill internally call
mob helpto print out the usage options instead of calling
MOB_START_INCLUDE_UNCOMMITTED_CHANGESvia an environment variable could print out a wrong value (didn’t affect any logic, just wrong console output)
git pushcommand now uses the
mob configprints configuration using the environment variable names which allow overriding the values