diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000000000000000000000000000000000000..0b19cae8387531906559f67da7a7de4acf277786
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,119 @@
+---
+Language:        Cpp
+# BasedOnStyle:  Microsoft
+AccessModifierOffset: -2
+AlignAfterOpenBracket: Align
+AlignConsecutiveMacros: false
+AlignConsecutiveAssignments: false
+AlignConsecutiveDeclarations: false
+AlignEscapedNewlines: Right
+AlignOperands:   true
+AlignTrailingComments: true
+AllowAllArgumentsOnNextLine: true
+AllowAllConstructorInitializersOnNextLine: true
+AllowAllParametersOfDeclarationOnNextLine: true
+AllowShortBlocksOnASingleLine: Always
+AllowShortCaseLabelsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: All
+AllowShortLambdasOnASingleLine: All
+AllowShortIfStatementsOnASingleLine: Never
+AllowShortLoopsOnASingleLine: false
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+AlwaysBreakBeforeMultilineStrings: false
+AlwaysBreakTemplateDeclarations: MultiLine
+BinPackArguments: true
+BinPackParameters: true
+BreakBeforeBinaryOperators: None
+BreakBeforeBraces: Allman
+BreakBeforeInheritanceComma: false
+BreakInheritanceList: BeforeColon
+BreakBeforeTernaryOperators: true
+BreakConstructorInitializersBeforeComma: false
+BreakConstructorInitializers: BeforeColon
+BreakAfterJavaFieldAnnotations: false
+BreakStringLiterals: true
+ColumnLimit:     120
+CommentPragmas:  '^ IWYU pragma:'
+CompactNamespaces: false
+ConstructorInitializerAllOnOneLineOrOnePerLine: false
+ConstructorInitializerIndentWidth: 4
+ContinuationIndentWidth: 4
+Cpp11BracedListStyle: true
+DeriveLineEnding: true
+DerivePointerAlignment: false
+DisableFormat:   false
+ExperimentalAutoDetectBinPacking: false
+FixNamespaceComments: true
+ForEachMacros:
+  - foreach
+  - Q_FOREACH
+  - BOOST_FOREACH
+IncludeBlocks:   Preserve
+IncludeCategories:
+  - Regex:           '^"(llvm|llvm-c|clang|clang-c)/'
+    Priority:        2
+    SortPriority:    0
+  - Regex:           '^(<|"(gtest|gmock|isl|json)/)'
+    Priority:        3
+    SortPriority:    0
+  - Regex:           '.*'
+    Priority:        1
+    SortPriority:    0
+IncludeIsMainRegex: '(Test)?$'
+IncludeIsMainSourceRegex: ''
+IndentCaseLabels: false
+IndentGotoLabels: true
+IndentPPDirectives: None
+IndentWidth:     4
+IndentWrappedFunctionNames: false
+JavaScriptQuotes: Leave
+JavaScriptWrapImports: true
+KeepEmptyLinesAtTheStartOfBlocks: true
+MacroBlockBegin: ''
+MacroBlockEnd:   ''
+MaxEmptyLinesToKeep: 1
+NamespaceIndentation: None
+ObjCBinPackProtocolList: Auto
+ObjCBlockIndentWidth: 2
+ObjCSpaceAfterProperty: false
+ObjCSpaceBeforeProtocolList: true
+PenaltyBreakAssignment: 2
+PenaltyBreakBeforeFirstCallParameter: 19
+PenaltyBreakComment: 300
+PenaltyBreakFirstLessLess: 120
+PenaltyBreakString: 1000
+PenaltyBreakTemplateDeclaration: 10
+PenaltyExcessCharacter: 1000000
+PenaltyReturnTypeOnItsOwnLine: 1000
+PointerAlignment: Right
+ReflowComments:  true
+SortIncludes:    false
+SortUsingDeclarations: true
+SpaceAfterCStyleCast: true
+SpaceAfterLogicalNot: false
+SpaceAfterTemplateKeyword: true
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeCpp11BracedList: false
+SpaceBeforeCtorInitializerColon: true
+SpaceBeforeInheritanceColon: true
+SpaceBeforeParens: ControlStatements
+SpaceBeforeRangeBasedForLoopColon: true
+SpaceInEmptyBlock: false
+SpaceInEmptyParentheses: false
+SpacesBeforeTrailingComments: 1
+SpacesInAngles:  false
+SpacesInContainerLiterals: true
+SpacesInCStyleCastParentheses: false
+SpacesInParentheses: false
+SpacesInSquareBrackets: false
+SpaceBeforeSquareBrackets: false
+Standard:        Latest
+StatementMacros:
+  - Q_UNUSED
+  - QT_REQUIRE_VERSION
+TabWidth:        4
+UseCRLF:         false
+UseTab:          Never
+...
+
diff --git a/.hgignore b/.gitignore
similarity index 64%
rename from .hgignore
rename to .gitignore
index 0d672e6ebc35bdc7399b31425ae4bc65feb5a0b2..27b629a578c0f410ffd187c2babda05f5c9eaa56 100755
--- a/.hgignore
+++ b/.gitignore
@@ -1,45 +1,56 @@
-syntax: glob
-
-# WinMerge temp files
+# By extension
+*.DS_Store
 *.bak
-# Compiled python bytecode
+*.diff
+*.orig
 *.pyc
-# Emacs temp files
+*.rej
+*.swp
 *~
-.*.swp
-#OSX image cache file
-*.DS_Store
-#*.orig
+
+# Specific paths and/or names
 LICENSES
-indra/.distcc
-build-linux-*
 build-darwin-*
-build-vc80/
-build-vc100/
-build-vc120/
-build-vc120-32/
-build-vc120-64/
-indra/build-vc[0-9]*
+build-linux-*
+build-stamp
+build-vc120*
+build-vc150*
+configure-stamp
+debian/files
+debian/secondlife-appearance-utility*
+debian/secondlife-viewer*
+indra/.distcc
 indra/CMakeFiles
+indra/build-vc[0-9]*
 indra/lib/mono/1.0/*.dll
 indra/lib/mono/indra/*.dll
 indra/lib/mono/indra/*.exe
 indra/lib/mono/indra/*.pdb
 indra/lib/python/eventlet/
+indra/lib/python/mulib.*
 indra/llwindow/glh/glh_linear.h
 indra/newview/app_settings/dictionaries
 indra/newview/app_settings/mozilla
 indra/newview/app_settings/mozilla-runtime-*
 indra/newview/app_settings/mozilla_debug
 indra/newview/app_settings/static_*.db2
+indra/newview/avatar_icons_cache.txt
+indra/newview/avatar_lad.log
 indra/newview/browser_profile
 indra/newview/character
+indra/newview/dbghelp.dll
+indra/newview/filters.xml
 indra/newview/fmod.dll
 indra/newview/fmod.log
 indra/newview/mozilla-theme
 indra/newview/mozilla-universal-darwin.tgz
-indra/newview/res/ll_icon.*
+indra/newview/pilot.txt
+indra/newview/pilot.xml
 indra/newview/res-sdl/ll_icon.*
+indra/newview/res/ll_icon.*
+indra/newview/search_history.txt
+indra/newview/teleport_history.txt
+indra/newview/typed_locations.txt
 indra/newview/vivox-runtime
 indra/server-linux-*
 indra/temp
@@ -47,36 +58,15 @@ indra/test/linden_file.dat
 indra/test_apps/llmediatest/dependencies/i686-win32
 indra/test_apps/terrain_mule/*.dll
 indra/viewer-linux-*
+indra/web/dataservice/lib/shared/vault.*
+indra/web/dataservice/locale.*
+indra/web/dataservice/vendor.*
 indra/web/doc/asset-upload/plugins/lsl_compiler/lslc
 indra/web/doc/asset-upload/plugins/verify-notecard
 indra/web/doc/asset-upload/plugins/verify-texture
 installed.xml
 libraries
 tarfile_tmp
-debian/secondlife-viewer*
-debian/secondlife-appearance-utility*
-debian/files
-build-stamp
-configure-stamp
-^indra/lib/python/mulib.*
-^web/locale.*
-^web/secondlife.com.*
-^web/config.*
-^indra/web/dataservice/locale.*
-^indra/web/dataservice/lib/shared/vault.*
-^indra/web/dataservice/vendor.*
-glob:indra/newview/dbghelp.dll
-glob:*.cpp.orig
-glob:*.cpp.bak
-glob:*.h.bak
-glob:*.h.orig
-glob:indra/newview/typed_locations.txt
-glob:indra/newview/teleport_history.txt
-glob:indra/newview/search_history.txt
-glob:indra/newview/filters.xml
-glob:indra/newview/avatar_icons_cache.txt
-glob:indra/newview/avatar_lad.log
-glob:*.diff
-indra/newview/pilot.txt
-indra/newview/pilot.xml
-*.rej
+web/config.*
+web/locale.*
+web/secondlife.com.*
\ No newline at end of file