Question: I'm running SVN on Windows and had a post-commit hook that was running the day I set it up. Now it's not running anymore. I'm running SVN through Apache Httpd. As part of my troubleshooting, I did the following:

* Successfully checked in a file and viewed it from the TortoiseSVN's repo browser
* Verified that the post-commit.bat file was in the hooks directory of my repository
* Cut down the post-commit.bat file to be this one line:

`echo hello > hello.txt`
* Checked-in a file and looked for the hello.txt file in the Apache installation folder (E:\Applications\Apache2.2) and its subdirectories, but found nothing
* Verified the Apache service was up and running (which it must have been to have successfully checked in)
* Eyeballed my services using `services.msc` to see if there might be some monitoring service I need running that was stopped accidentally; I didn't recognize any
* I created a pre-commit hook and verified that it is running as expected (so this is only a problem with the post-commit hook -- not all hooks in general)

**What are the next steps I should take to troubleshoot why my post-commit hook is not executing?**

Answer: 
If the member can *only* be set via an accessor (a "setter" method), I prefer the first style. It provides a hint that the initialized value is the default upon construction.

If the member can be specified during construction, I generally pass the default value to an appropriate constructor from constructor with fewer parameters. For example,

```
final class Dude {

  private final String name;

  Dude() {
    this("El Duderino");
  }

  Dude(String name) {
    this.name = name;
  }

}

```
It is best to declare variables inside the constructor for the sake of consistency. A variable may require something like a loop or an if-else statement to initialize it, which can not be done in the declaration without placing the operation inside of a method.

The exception to this rule is static variables, which should be declared outside of the constructor.