Showing posts with label workbench. Show all posts
Showing posts with label workbench. Show all posts

Sunday, April 21, 2013

Little helpers

Do you sometimes prepare a commit series, look through it again, and find some small changes like doc improvements or name changes that you need to squash into the last commit to that file?  This little snippet creates a fixup commit for each dirty file tracked by Git (it predates the --fixup option somewhat :).

#!/bin/bash

err() {
  echo "Error: $@" >&2
  exit $EXIT_FAILURE
}

git rev-parse --is-inside-work-tree &>/dev/null || err "Not inside a work tree"
[ -z "$(git diff --staged --name-only)" ] || err "Stage is not empty"

for dirtyfile in $(git diff --name-only) ; do
  commit_message=$(git log --oneline -- "$dirtyfile" | head -1 | sed 's/^\w* //g')
  git commit -m "fixup! ${commit_message}" -- "${dirtyfile}"
done

These are the sort of tools that are unlikely to be shipped with a VCS, but would fit nicely into a workbench tool-shed.  Of course, there can be much more sophisticated tools as well as whole toolsets describing workflows.

Thursday, August 30, 2012

A Shared Project Workspace


I've been reading a lot about agile procedures lately and I totally agree that colocation is important and a prerequisite. However, a form of online Activities (in the KDE sense) could be used to bring developers interested in an Open Source project closer to that project without boarding a plane.

There could be widgets shared online that would form the project workspace visible to anyone.  Beside displaying project info, widgets could offer to get directly involved with a project.  Remote developers could use those widgets for their own version of a project specific Activity and add other tools like editors.

Ideally, whole Activties could be distributed through the Project Repositories of a workbench and modifications could be layered upon that.